Javascript从两个输入数组获取结果数组

时间:2018-10-16 04:50:45

标签: javascript functional-programming

我有两个数组

a=[2,3 ,10, 20] 

b=[true, false, false, true]

最终结果应该是

result=[2,20]

那是a,其中b为真

如何使用javascript函数式编程(没有for循环)来做到这一点。

1 个答案:

答案 0 :(得分:1)

Array.prototype.filter()

  

filter()方法将创建一个新数组,其中包含所有通过提供的功能实现的测试的元素。

您可以在第一个数组上使用filter()。在回调函数中,从第二个数组检查当前索引的项:

let a=[2,3 ,10, 20] 

let b=[true, false, false, true]

let res = a.filter((n,i) => b[i] == true);
//OR:
//let res = a.filter((n,i) => b[i]);
console.log(res);