Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การรวมอาร์เรย์บูลีนกับตัวดำเนินการ AND - JavaScript


สมมุติว่าเรามีอาร์เรย์บูลีนแบบนี้ -

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 ]