สมมุติว่าเรามีอาร์เรย์บูลีนแบบนี้ -
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 ]