เราต้องเขียนฟังก์ชันที่รวมเอาสองอ็อบเจ็กต์ รวมเป็นอ็อบเจ็กต์เดียว และเพิ่มค่าสำหรับคีย์เดียวกัน สิ่งนี้จะต้องทำในเวลาเชิงเส้นและปริภูมิคงที่ หมายถึงใช้วงเดียวเท่านั้นและรวมคุณสมบัติในอ็อบเจกต์ที่มีอยู่ก่อนแล้วเข้าด้วยกัน และไม่สร้างตัวแปรใหม่ใดๆ
เรามาเขียนโค้ดของฟังก์ชันนี้กันดีกว่า −
ตัวอย่าง
const obj1 = { value1: 45, value2: 33, value3: 41, value4: 4, value5: 65, value6: 5, value7: 15, }; const obj2 = { value1: 34, value3: 71, value5: 17, value7: 1, value9: 9, value11: 11, }; const mergeObjects = (obj1, obj2) => { for(key in obj1){ if(obj2[key]){ obj1[key] += obj2[key]; }; }; return; }; mergeObjects(obj1, obj2); console.log(obj1);
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
{ value1: 79, value2: 33, value3: 112, value4: 4, value5: 82, value6: 5, value7: 16 }