我有一個物件變數,我想將一個新的{ key: "value" }但帶有回圈并使用回圈索引的物件推入我的物件中。
像這樣的東西:
let headers = {
product_title: "Product Name",
action: "Status",
quantity: "Quantity",
priority: "Priority",
};
for (let i = 0; i < bigger; i ) {
headers = { ...headers, ...{ 'org_{i}': i } };
}
有沒有辦法做這樣的事情或用索引添加唯一鍵?
最后我需要像下面這樣的東西:
let headers = {
...old data
key_1: "",
key_2: "",
key_3: "",
};
uj5u.com熱心網友回復:
ES6 中有一個叫做“計算屬性”的東西,它允許包含在其中的常規 JS[]形成一個字串鍵......
let headers = {
product_title: "Product Name",
action: "Status",
quantity: "Quantity",
priority: "Priority",
};
for (let i = 0; i < 5; i ) {
headers = { ...headers, ['key_' i]: i }
}
console.log(headers)
整潔,但這會為每次迭代創建一個一次性物件。跳過帶有展開的文字,您可以更有效地使用較舊的 JS...
let headers = {
product_title: "Product Name",
action: "Status",
quantity: "Quantity",
priority: "Priority",
};
for (let i = 0; i < 5; i ) {
headers['key_' i] = i
}
console.log(headers)
uj5u.com熱心網友回復:
要將新的鍵值添加到物件中,您可以直接使用
headers[key] = value
但是,如果您打算動態設定密鑰,我建議您查看 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
uj5u.com熱心網友回復:
嘗試像下面這樣
const output = [...Array(bigger)].reduce((acc, curr, index) => {
return ({ ...headers, ...acc, [`org_${index}`]: index })
}, {});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368716.html
標籤:javascript 目的 ecmascript-6 核心价值
下一篇:使用一些鍵和物件陣列迭代物件
