我一直在观看来自Dan Abramov的012x的视频avoiding-array-mutations,并且我已经计算出如何使用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
语法来做同样的事情?
另外我想知道为什么没有更简单的方法:例如es6中的一个辅助函数来完成这个工作,它的工作方式与concat方法一样简单,只需传入要删除的元素的id,然后返回新的数组,因此基本上可以拼接,但没有突变。
'[... arr]'与'arr相同。切片()',你可以“切片和拼接”没有任何副作用删除 –
在视频中,他告诉你这样做的方式与数组传播''[arrayOld.slice(0,索引),.. .arrayOld.slice(index + 1)]''' – ferndopolis