javascript - 将数组解构为对象属性键

标签 javascript destructuring ecmascript-2016 ecmascript-next

我有一组值,例如:

const arr = [1,2,3];

有什么方法可以使用解构来创建以下输出?如果没有,我在 ES6(或更高版本)中执行此操作的最简单方法是什么?

const obj = {
    one: 1,
    two: 2,
    three: 3
};

我试过了,但我猜它不起作用,因为这是计算键的语法:

const arr = [1,2,3];
const obj = {
  [one, two, three] = arr
};

最佳答案

您不仅可以将解构值分配给变量,还可以分配给现有对象:

const arr = [1,2,3], o = {};    
({0:o.one, 1:o.two, 2:o.three} = arr);

这无需任何额外变量即可工作,并且重复性较低。但是,如果您非常讲究的话,它也需要两个步骤。

关于javascript - 将数组解构为对象属性键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38242744/

相关文章:

javascript - ES6 中简单解构数组/对象

javascript - 在 React.js 中覆盖/扩展 ES7 类的静态属性

javascript - 如何在node.js中从异步创建同步功能?

javascript - canActive Angular 如何从身份验证中获取值 true false (用户是否登录)

javascript - header 中带有 javascript 链接的 JQuery slidetoggle div 不会触发

javascript - ES6 解构赋值在最新的 Node 中不起作用

javascript - JS 代理和解构赋值

javascript - 在 node.js 中重命名文件夹失败

typescript - ECMAScript 2016 装饰器是否使 TypeScript 装饰器变得多余?

javascript - 我们如何在 ES7 中调用类内部的方法?