9

我的airbnb styleguide告诉我应该使用数组解构来完成下面的任务。

const splittedArr  = [1, 2, 3, 4, 5]
const result = splittedArr[1];

所以我用跳过值这样写以获得第二个元素。

const splittedArr  = [1, 2, 3, 4, 5]
const [, result] = splittedArr;

const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[1];

const [, res] = splittedArr;

console.log(result, res);

但例如当我有更高的指标要破坏时

const splittedArr  = [1, 2, 3, 4, 5]
const result = splittedArr[5];

这意味着我必须像这样写

const splittedArr  = [1, 2, 3, 4, 5]
const [,,,, result] = splittedArr;

const splittedArr  = [1, 2, 3, 4, 5]

const result = splittedArr[4];

const [, , , , res] = splittedArr;

console.log(result, res);

问题:有没有更好的方法来编写在 JavaScript中跳过值的数组解构?

4

2 回答 2

9

您可以将数组视为对象并将索引作为键进行解构并分配给新的变量名称

const
    array = [37, 38, 39, 40, 41, 42, 43],
    { 5: result } = array;

console.log(result);

于 2021-01-30T10:43:09.210 回答
5

改用object-destructuring

const splittedArr  = [1, 2, 3, 4, 5];

const { 1: second, 4: fifth } = splittedArr;

console.log(second, fifth);

于 2021-01-30T10:44:38.340 回答