อ็อบเจ็กต์ 2 ตัว: {a: true, b: false, c: "foo"} และ {a: false, b: false, c: "foo"}
หา key ที่มีในทั้งคู่ และ value เหมือนกัน
ตัวอย่างโค้ด
const obj1 = { a: true, b: false, c: "foo" };
const obj2 = { a: false, b: false, c: "foo" };
const compareObjects = (obj1 = {}, obj2 = {}) => {
const common = Object.keys(obj1).filter(key => {
if (obj1[key] === obj2[key] && obj2.hasOwnProperty(key)) {
return true;
}
return false;
});
return common;
};
console.log(compareObjects(obj1, obj2));ผลลัพธ์
['b', 'c']
คำอธิบาย: Object.keys(obj1) ได้ key ของ obj1 filter() ตรวจสอบว่า obj2 มี key นั้น (hasOwnProperty) และ value เท่ากัน (===) คืน key ที่ผ่าน