我想对javascript中的数组执行逻辑或运算,以便对数组a
和b
进行此操作
let a = [0,1,0]
let b = [0,0,5]
给我
OR(a, b)
[0,1,5]
实施OR
的有效且惯用的方法是什么?
答案 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)
);