เราต้องเขียนฟังก์ชันที่รวมเอาสองอ็อบเจ็กต์ รวมเป็นอ็อบเจ็กต์เดียว และเพิ่มค่าสำหรับคีย์เดียวกัน สิ่งนี้จะต้องทำในเวลาเชิงเส้นและปริภูมิคงที่ หมายถึงใช้วงเดียวเท่านั้นและรวมคุณสมบัติในอ็อบเจกต์ที่มีอยู่ก่อนแล้วเข้าด้วยกัน และไม่สร้างตัวแปรใหม่ใดๆ
เรามาเขียนโค้ดของฟังก์ชันนี้กันดีกว่า −
ตัวอย่าง
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
}