เรามีอ็อบเจ็กต์สองอาร์เรย์แบบนี้ -
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