JavaScript中数组的逻辑或

时间:2019-03-29 07:41:21

标签: javascript

我想对javascript中的数组执行逻辑或运算,以便对数组ab进行此操作

let a = [0,1,0]
let b = [0,0,5]

给我

OR(a, b)
[0,1,5]

实施OR的有效且惯用的方法是什么?

3 个答案:

答案 0 :(得分:3)

您可以通过使用映射和or函数来减少所需的数组。

const or = (a, b) => a || b,
      unary = fn => (a, b) => a.map((v, i) => fn(v, b[i]));

var a = [0, 1, 0],
    b = [0, 0, 5],
    c = [a, b].reduce(unary(or));

console.log(c);

答案 1 :(得分:2)

只需通过传递 callback 函数作为参数,将||运算符与map方法结合使用。

let a = [0,1,0]
let b = [0,0,5]

let c = a.map((item, index) => item || b[index]);
console.log(c);

答案 2 :(得分:1)

假设数组的长度始终相同,请使用.map||

const OR = (a, b) => a.map((aItem, i) => aItem || b[i]);
let a = [0,1,0]
let b = [0,0,5]
console.log(
  OR(a, b)
);