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