ES2015 - 更新集合中的过滤项目并组合更新以前的集合

时间:2016-12-23 16:27:11

标签: functional-programming ecmascript-6

所以说我有一个集合:

const collection = [0,3,2,4];

var r = collection.filter((item) => {
    return item > 2;
}).map((item) => {
    return item + 2;
});
// I could just `.map()` them back in but that seems ineffective

console.log(r); // 5,6

是否有一种函数式(fp)方法来组合此代码来更新我以前的集合以获得预期结果(假设结果的索引很重要)?

e.g。预期结果:[0,5,2,6]

1 个答案:

答案 0 :(得分:1)

怎么样

var r = collection.map(item => item > 2 ? item + 2 : item)

代替?

即。 .map所有项目,但仅修改符合您条件的项目。