javascript 将键值推送到具有索引的对象中
javascript push key value into object with index
我有一个对象变量,我想将一个新的 { 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: "",
};
要将新的键值添加到对象中,您可以直接使用
headers[key] = value
但是如果您打算动态设置密钥,我建议您检查一下
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
试试下面的方法
const output = [...Array(bigger)].reduce((acc, curr, index) => {
return ({ ...headers, ...acc, [`org_${index}`]: index })
}, {});
有一个名为“计算属性”的 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)
我有一个对象变量,我想将一个新的 { 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: "",
};
要将新的键值添加到对象中,您可以直接使用
headers[key] = value
但是如果您打算动态设置密钥,我建议您检查一下 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
试试下面的方法
const output = [...Array(bigger)].reduce((acc, curr, index) => {
return ({ ...headers, ...acc, [`org_${index}`]: index })
}, {});
有一个名为“计算属性”的 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)