数组解构跳过值

Aal*_*der 9 javascript arrays destructuring airbnb-js-styleguide

我的airbnb 风格指南告诉我我应该在下面的任务中使用数组解构

const splittedArr  = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)

所以我使用 skipping values 像这样编写它以获得第二个元素。

const splittedArr  = [1, 2, 3, 4, 5]
const [, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)

const splittedArr  = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)

但是例如当我有一个更高的指数要破坏时

const splittedArr  = [1, 2, 3, 4, 5]
const result = splittedArr[5];
Run Code Online (Sandbox Code Playgroud)

这意味着我必须像这样写

const splittedArr  = [1, 2, 3, 4, 5]
const [,,,, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)

const splittedArr  = [1, 2, 3, 4, 5]
const [, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)

问:有没有更好的方式来写阵列解构跳跃值在JavaScript?

Nin*_*olz 9

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

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

console.log(result);
Run Code Online (Sandbox Code Playgroud)


Maj*_*awi 5

使用object-destructuring来代替:

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

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

console.log(second, fifth);
Run Code Online (Sandbox Code Playgroud)