使用带有与ES6 / 7的变量名称相同的键的变量创建对象

时间:2015-11-17 03:25:10

标签: javascript ecmascript-6

我想从多个变量创建一个对象,但我不想逐个列出这些变量:

let [x, y, z] = [1, 2, 3];
let obj = ??? // something shorter than {x: x, y: y, z: z};
obj.x === 1; // i want true here
obj.y === 2; // i want true here
obj.z === 3; // i want true here

此外,我想从一个对象中剪切特殊值,并将它们放入具有相同键的另一个对象中:

let obj1 = {
  subobj1: {
    x: 1,
    y: 2,
    z: 3
  }
};
let obj2 = ??? // something shorter than {x: obj1.subobj1.x, y: obj1.subobj1.y,};
obj2.x === 1; // i want true here
obj2.y === 2; // i want true here
typeof obj2.z === "undefined"; // i want true here

我如何使用ES6 / 7做这些事情?

1 个答案:

答案 0 :(得分:2)

对于第一个,您可以使用此

let [x, y, z] = [1, 2, 3];
let obj = { x, y, z };

我认为进行第二次任务的时间较短。