Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เปรียบเทียบอาร์เรย์ของวัตถุ - JavaScript


เรามีอ็อบเจ็กต์สองอาร์เรย์แบบนี้ -

const blocks = [
   { id: 1 },
   { id: 2 },
   { id: 3 },
   { id: 4 },
]
const containers = [
   { block: { id: 1 } },
   { block: { id: 2 } },
   { block: { id: 3 } },
]

เราจำเป็นต้องเขียนฟังก์ชันที่ตรวจสอบแต่ละอ็อบเจ็กต์ของอาร์เรย์บล็อกด้วยคีย์บล็อกของแต่ละอ็อบเจ็กต์ของคอนเทนเนอร์อาร์เรย์ และดูว่ามี id ใดในอาร์เรย์บล็อกที่ไม่มีอยู่ในอาร์เรย์คอนเทนเนอร์ หากเป็นเช่นนั้น เราจะคืนค่าเท็จ มิฉะนั้น เราจะคืนค่าเป็น จริง

ตัวอย่าง

มาเขียนโค้ดกัน −

const blocks = [
   { id: 1 },
   { id: 2 },
   { id: 3 },
   { id: 4 },
]
const containers = [
   { block: { id: 1 } },
   { block: { id: 2 } },
   { block: { id: 3 } },
]
const checkProperty = (first, second) => {
   const findInContainers = id => {
      for(let i = 0; i < second.length; i++){
         if(second[i].block.id === id){
            return true;
         };
      };
      return false;
   };
   for(let i = 0; i < first.length; i++){
      if(!findInContainers(first[i].id)){
         return false;
      };
   };
   return true;
};
console.log(checkProperty(blocks, containers));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -

false