如何在ES6中进行对象重组?

时间:2015-05-22 14:04:34

标签: javascript ecmascript-6 destructuring

有没有办法在一个声明中执行此操作?

var {a:c, b} = {a:2, b:3}; // es6 destructuring
var d = {b, c} // es6 shorthand properties

我想在一个语句中将{a:2, b:3}转换为{b:3, c:2}

2 个答案:

答案 0 :(得分:7)

不要使用解构和速记属性,只需按照自己的意愿构建文字:

var input = {a:2, b:3};

var d = {b:input.b, c:input.a}; // single statement

或者使用立即调用的箭头函数(IIAF):

var d = (({a:c, b}) => ({b, c}))(input);

答案 1 :(得分:0)

  

我想在单个语句中将{a:2,b:3}转换为{b:3,c:2}。

您只需要交换属性:

const {b, a:c} = {a:2, b:3}
b // 3
c // 2