获取数组中的第一个和最后一个元素,ES6方式

Nic*_*las 18 javascript arrays function ecmascript-6

let array = [1,2,3,4,5,6,7,8,9,0]

文档是这样的

[first, ...rest] = array 将输出1和阵列的其余部分

现在是有办法只有采取第一和最后一个元素1 & 0Destructuring

例如: [first, ...middle, last] = array

我知道如何以另一种方式获取第一个和最后一个元素,但我想知道是否可以使用es6

Pra*_*lan 21

其余的参数只能用在最后没有任何其他地方的解构所以如你预期它不会工作.

相反,您可以析构某些属性(数组也是JS中的对象),例如,0对于last的最后一个元素的first和index.

let array = [1,2,3,4,5,6,7,8,9,0]

let {0 : a ,[array.length - 1] : b} = array;
console.log(a, b)
Run Code Online (Sandbox Code Playgroud)

或者更好的方法是将长度作为另一个变量提取并根据它获得最后一个值(由@Bergi建议),即使没有引用数组的变量也可以工作.

let {0 : a ,length : l, [l - 1] : b} = [1,2,3,4,5,6,7,8,9,0];
console.log(a, b)
Run Code Online (Sandbox Code Playgroud)

  • 它不是传播的FYI,它不是运算符,它只是语法. (3认同)
  • 嗯,是的,但是不要那样做。“让a = array [0],b = array [array.length-1];”更加干净。如果我们真的想使其尽可能简洁,则还有`let {0:a,length:l,[l-1]:b} = array;` (2认同)