Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

JavaScript รวมหลายอาร์เรย์ Boolean ด้วยตัวดำเนินการ OR (||)

เรามีอาร์เรย์ของอาร์เรย์ 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 ]