เรามี 2 อาร์เรย์ใน JavaScript และเราต้องการเปรียบเทียบอาร์เรย์หนึ่งกับอีกอาร์เรย์หนึ่งเพื่อดูว่าองค์ประกอบของอาร์เรย์หลักมีอยู่ในอาร์เรย์คีย์หรือไม่ จากนั้นจึงสร้างอาร์เรย์ใหม่ที่มีความยาวเท่ากันของอาร์เรย์หลัก แต่มีเฉพาะจริงและเท็จเท่านั้น (เป็นจริง สำหรับค่าที่มีอยู่ inkeys array และ false ที่ไม่มี)
สมมติว่าถ้าทั้งสองอาร์เรย์เป็น −
const master = [3,9,11,2,20]; const keys = [1,2,3];
ดังนั้นอาร์เรย์สุดท้ายควรเป็น −
const finalArray = [true, false, false, true, false];
ดังนั้น เรามาเขียนฟังก์ชันสำหรับปัญหานี้กัน −
ตัวอย่าง
const master = [3,9,11,2,20]; const keys = [1,2,3]; const prepareBooleans = (master, keys) => { const booleans = master.map(el => { return keys.includes(el); }); return booleans; }; console.log(prepareBooleans(master, keys));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ true, false, false, true, false ]