可以这样做:
let a = 1,
b = 3,
c = 9;
是否也可以这样做:
obj.a = 1,
b = 2,
c = 3;
这仍然很容易理解,但是打字少得多,然后多次写obj
。
答案 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,
}
谢谢:)