如何在 JavaScript 中执行数组解构,然后同时检索解构对象的值?

Jos*_*ang 2 javascript ecmascript-6

请参阅此最小示例

const [one, two, three] = [
  { name: "Joseph" },
  { name: "Amy" },
  { name: "Jim" }
];
Run Code Online (Sandbox Code Playgroud)

我可以对第一级进行数组解构,如何像这样使用第二级进行解构:

const [oneName: one.name, twoName: two.name, threeName: three.name] = [
  { name: "Joseph" },
  { name: "Amy" },
  { name: "Jim" }
];
Run Code Online (Sandbox Code Playgroud)

这是伪代码,语法错误,但您明白了。

是否可以在 JavaScript 中执行此操作?

Cer*_*nce 7

这有点类似于声明一个对象数组,只是const在它前面加了一个。不是将值放在 a 的右侧,而是将:新变量名称放在那里的字符串中:

const [{name: oneName}, {name: twoName}, {name: threeName}] = [
  { name: "Joseph" },
  { name: "Amy" },
  { name: "Jim" }
];

console.log(oneName);
console.log(twoName);
console.log(threeName);
Run Code Online (Sandbox Code Playgroud)

但是虽然这是可能的,但它很奇怪并且(IMO)非常难以理解。我不会推荐它。