Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ยูเนียน (Union) ของอ็อบเจ็กต์สองตัวใน JavaScript

เรามีอ็อบเจ็กต์หนึ่งตัวแบบนี้:

const obj1 = { name: " ", email: " " };

และอีกตัวแบบนี้:

const obj2 = { name: ['x'], email: ['y']};

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอ็อบเจ็กต์สองตัวดังกล่าว และต้องการผลลัพธ์เป็นยูเนียนแบบนี้:

const output = { name: {" ", [x]}, email: {" ", [y]} };

ตัวอย่างโค้ด

โค้ดสำหรับทำสิ่งนี้คือ:

const obj1 = { name: " ", email: " " };
const obj2 = { name: ['x'], email: ['y']};
const objectUnion = (obj1 = {}, obj2 = {}) => {
  const obj3 = {
    name:[],
    email:[]
  };
  for(let i in obj1) {
    obj3[i].push(obj1[i]);
  }
  for(let i in obj2) {
    obj3[i].push(obj2[i]);
  }
  return obj3;
};
console.log(objectUnion(obj1, obj2));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

{ name: [ ' ', [ 'x' ] ], email: [ ' ', [ 'y' ] ] }