สมมุติว่าเรามีอาร์เรย์บูลีนแบบนี้ -
const arr = [[true,false,false],[false,false,false],[false,false,true]];
เราจำเป็นต้องเขียนฟังก์ชันที่รวมอาร์เรย์ของอาร์เรย์นี้เป็นอาร์เรย์หนึ่งมิติโดยการรวมองค์ประกอบที่เกี่ยวข้องของแต่ละอาร์เรย์ย่อยโดยใช้ตัวดำเนินการ AND (&&)
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน เราจะใช้ฟังก์ชัน Array.prototype.reduce() เพื่อให้บรรลุสิ่งนี้
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [[true,false,false],[false,false,false],[false,false,true]]; const andMerge = (arr = []) => { return arr.reduce((acc, val) => { val.forEach((bool, ind) => { acc[ind] = acc[ind] && bool || false; }); return acc; }, []); }; console.log(andMerge(arr));
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -
[ false, false, false ]