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