我发现很难找到最好的方法来获取相同长度的多个数组并将它们合并为一个真值数组。因此,如果true
在索引位置,则新数组应具有true
,否则只需保留false
。
const array1 = [true, true, false, false, true]
const array = [true, false, false, true, false]
输出为:
[true, true, false, true, true]
答案 0 :(得分:5)
您可以使用map
进行此操作。它将为您生成新的数组。在map
中,您可以传递某些参数,current value
和iteration
可以用来从第二个数组中获取数据,然后放置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
属于array1
和array[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)