如何将多个布尔数组转换为单个布尔数组

时间:2020-06-29 06:20:41

标签: javascript

我发现很难找到最好的方法来获取相同长度的多个数组并将它们合并为一个真值数组。因此,如果true在索引位置,则新数组应具有true,否则只需保留false

const array1 = [true, true, false, false, true]
const array = [true, false, false, true, false]
    

输出为:

[true, true, false, true, true]

2 个答案:

答案 0 :(得分:5)

您可以使用map进行此操作。它将为您生成新的数组。在map中,您可以传递某些参数,current valueiteration可以用来从第二个数组中获取数据,然后放置OR ||。条件以获得预期的输出。

const array1 = [true, true, false, false, true];
const array = [true, false, false, true, false];

const output = array1.map((val,i)=>val || array[i]);

console.log(output);

答案 1 :(得分:1)

您可以使用map()并检查e中的任何一个 OR array[i] true ,这里e属于array1array[i]的每个元素分别表示array的每个元素。最后,在map函数内部进行条件检查后,它将生成一个newArray

const array1 = [true, true, false, false, true];
const array = [true, false, false, true, false];
var newArray = array1.map((e, i) => Boolean(e | array[i]));
console.log(newArray)