与JavaScript中的变量分配一样,一次性为对象分配多个值

时间:2019-04-07 03:41:53

标签: javascript

可以这样做:

let a = 1,
    b = 3,
    c = 9;

是否也可以这样做:

obj.a = 1,
    b = 2,
    c = 3;

这仍然很容易理解,但是打字少得多,然后多次写obj

5 个答案:

答案 0 :(得分:2)

如果已经定义了变量,则可以使用速记属性名称一次性定义对象,

const obj = { a, b, c };

答案 1 :(得分:2)

您可以使用速记属性名称分配已定义的变量

let a = 1,
    b = 3,
    c = 9;

let  obj = {a,b,c}
    
console.log(obj)

答案 2 :(得分:1)

如果属性名称和值之间存在关系,则可以使用map编写紧凑的对象定义。否则,只能使用名称和值初始化对象。

// function
var obj = {};
['a', 'b', 'c'].map((x, i) => (obj[x] = i));
console.log(obj);

// no function
var obj1 = {a: 1, b: 2, c: 4};
console.log(obj1);

答案 3 :(得分:0)

如果尚未分配变量,则可以使用Object.assign

const obj = Object.assign({}, { a: 1, b: 2, c: 3 });
console.log(obj);

否则,请使用ES6速记属性表示法:

const [a, b, c] = [1, 2, 3];
const obj = { a, b, c };
console.log(obj);

答案 4 :(得分:0)

您可以执行此操作(如果对象是可重新分配的,例如:let不是const):

obj = {...obj, a : 1,
    b : 2,
    c: 3,
}

谢谢:)