2016-04-06 22 views
3

でこれを不変のリストから複数の項目を削除します不変で単純なJSのみ)それとも、ロダッシュを使わなければならないのですか?は、与えられたワンショット

return state.set('selectedTrackIds', 
    state.get('selectedTrackIds').filter(function(x) { 
    return ['foo', 'baz'].indexOf(x) < 0; // false return value => remove from list 
    }) 
); 

またはmap、およびいくつかのES6構文とそれを組み合わせる:

return state.set('selectedTrackIds', Immutable.fromJS(_.difference(
    state.get('selectedTrackIds').toJSON(), ['foo', 'baz'] 
))); 

答えて

5

あなたがしたくない項目を削除するfilterを使用することができます

state.map(x => x.filter(y => ['foo', 'baz'].indexOf(y) < 0)) 

filtermap標準JSであり、ImmutableはImmutableコレクションで直接動作する独自の実装を提供します)

+0

ニース!私が不在だった不変物に何かが組み込まれているのかどうか疑問に思っていました。 – ffxsam

関連する問題