簡體   English   中英

與JavaScript中的變量分配一樣,一次性為對象分配多個值

[英]Assign multiple values to an object in one go as with variable assignment in JavaScript

可以這樣做:

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

是否也可以這樣做:

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

這仍然很易讀,但是鍵入的次數少了很多,然后寫了很多遍obj

如果已經定義了變量,則可以使用速記屬性名稱一次性定義對象,而無需重復:

const obj = { a, b, c };

您可以使用簡寫屬性名稱來分配已定義的變量

 let a = 1, b = 3, c = 9; let obj = {a,b,c} console.log(obj) 

如果屬性名稱和值之間存在關系,則可以使用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); 

如果尚未分配變量,則可以使用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); 

您可以執行此操作(如果對象是可重新分配的,例如: let NOT const ):

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

謝謝 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM