ダン・アブラモフからreduxのビデオを見ていて、slice
を使用してidから配列の要素を削除し、新しい配列を返しました突然変異なし。スライスまたはスプレッドを使用してJavaScriptの配列から要素を削除する
var arrayOld = ['apple', 'orange', 'fig']
var index = arrayOld.indexOf('orange')
var arrayNew = arrayOld.slice(0,index).concat(arrayOld.slice(index + 1))
// ['apple', 'fig']
es6 spread
の構文を使用して同じことを行う方法を知りましたか?
また、なぜ簡単な方法がないのだろうと思います。これを行うためのヘルパー関数、単純にconcatメソッドと同じように機能する要素です。削除する要素のidを渡すだけで、新しい配列が返されるため、基本的にスプライスされますが、突然変異はありません。
'[... arr]'は 'arr 'と同じです。スライス() '、副作用の除去のためにスライスしスプライスすることができます –
ビデオでは、配列の広がり' '' [... arrayOld.slice(0、index)、..] .arrayOld.slice(index + 1)] '' ' – ferndopolis