Sna*_*ass 3 javascript arrays destructuring ecmascript-6
我正在尝试掌握解构分配语法以完成以下任务:
我有一个项目数组,例如const arr = ['a','b','c'],我想映射到另一个数组数组,其中每个项目都是从初始数组中挑选项目的剩余部分,即[['b','c'],['a','c'],['a','b']]
为此,我正在尝试做
arr.map((_,i) => ([arr[i],...rest] = arr, rest))
Run Code Online (Sandbox Code Playgroud)
那又回来了
[['b', 'c'],['a', 'c'],['a', 'a']]
Run Code Online (Sandbox Code Playgroud)
显然不是我需要的。我猜这是因为arr它本身在此过程中会发生某种变化。
我知道,我可以使用其他splice()一些东西,但是我试图弄清楚如何使它正常工作。
谢谢你的帮助。
您可以直接对数组进行解构并删除实际索引处的项目。
var array = ['a', 'b', 'c'],
result = array.map((_, i, { [i]: __, ...a }) => Object.values(a));
console.log(result); // ab ac bcRun Code Online (Sandbox Code Playgroud)