JavaScript中数组的AND乘积

我们有一个布尔数组的数组,像这样-

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 ]