javascript - 如何在 JavaScript 中执行 Array deconstruct 然后同时检索解构对象的值?

标签 javascript ecmascript-6

请看这个最小的例子

const [one, two, three] = [
  { name: "Joseph" },
  { name: "Amy" },
  { name: "Jim" }
];

我可以数组解构第一层,我怎么能像这样用第二层来做呢:

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

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

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

最佳答案

这有点类似于声明一个对象数组,只是在其前面加上一个const。不是将值放在 : 的右侧,而是将新变量名放在此处以将字符串放入:

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

console.log(oneName);
console.log(twoName);
console.log(threeName);

虽然这是可能的,但它很奇怪而且 (IMO) 很难读。我不推荐它。

关于javascript - 如何在 JavaScript 中执行 Array deconstruct 然后同时检索解构对象的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60752616/

相关文章:

javascript - 如何将多个文件选择放入数组中然后输出到 HTML

javascript - 查看按钮点击 react 中的日期

ecmascript-6 - 如何在 javascript/es6 中导入两个同名的类?

javascript - 创建用于从 API 获取数据的 altjs 流量存储

javascript - 如何在 ColdFusion 中验证新电子邮件地址是否正确

javascript - 将代码传输到服务器时灯箱错误

javascript - Angular Karma console.log 不起作用

javascript - 如果你用另一个 promise 来解决一个 promise ,会发生什么?

javascript - 如何使用 javascript promises ES6 而不是 jQuery ajax 调用?

javascript - 如何将带有索引元素的函数传递到组件中?