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