Lok*_*wal 5 javascript ecmascript-6
我有很多动物arr = ['cat','dog','elephant','lion','tiger','mouse']
我想编写一个remove(['dog','lion'])可以从 arr 中删除元素的函数,我们可以使用 es6 spread 编写这个函数吗?
例子:
arr = ['cat','dog','elephant','lion','tiger','mouse']
remove(['cat', 'lion'])
Run Code Online (Sandbox Code Playgroud)
arr 应该更改为
arr = ['dog','elephant','tiger','mouse']
Run Code Online (Sandbox Code Playgroud)
注意:我不想要突变,所以请不要建议改变数组的解决方案。
不,你不能,因为它们并不相邻。有一些关于进一步扩展和休息语法的讨论,但即使在这些讨论中,我也不认为一系列不连续的选择是可能的。
我认为您能得到的最接近的结果是专门调用前几个,然后对之后的所有内容使用剩余语法'lion':
const arr = ['cat','dog','elephant','lion','tiger','mouse'];
const arr2 = [arr[1], arr[2], ...arr.slice(4)];
console.log(arr2);Run Code Online (Sandbox Code Playgroud)
...我确信这不是您想要做的。:-)