2016-12-23 17 views
0

を更新組み合わせは、だから私はコレクションを持っていると言う:ES2015 - コレクション内のフィルターの項目を更新し、前のコレクション

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)の方法があります期待される結果(結果の指標が重要な場合)?

期待される結果:[0,5,2,6]

+0

「以前のコレクションを更新する」とはどういう意味ですか?関数プログラミングではデータは不変です。 – Bergi

+0

申し訳ありませんが、私は同じコレクションに変更されたアイテムを含む新しいコレクションを作成することを意味します。 – chrisjlee

答えて

1

どの程度

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

I.e. .mapすべてのアイテムがあなたの条件に合ったものだけを変更します。

関連する問題