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

เปรียบเทียบอ็อบเจ็กต์คืน key ที่เหมือนกันทั้ง key และ value - JavaScript

อ็อบเจ็กต์ 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 ที่ผ่าน