如何在现有 Javascript 对象中添加具有值的动态键? [复制]
Posted
技术标签:
【中文标题】如何在现有 Javascript 对象中添加具有值的动态键? [复制]【英文标题】:How to add dynamic key with value in existing Javascript object? [duplicate] 【发布时间】:2019-07-03 22:44:25 【问题描述】:我有一个现有的 javascript 对象。
let existingObject =
1:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
,
2:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
,
3:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
我想为该现有对象添加一个属性。我的新键值为:
const key = 4;
const value =
'prop1': 'prop1 value',
'prop2': 'prop2 value'
附加键和值后,我的新对象应该是,
const newObject =
1:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
,
2:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
,
3:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
,
4:
'prop1': 'prop1 value',
'prop2': 'prop2 value'
这里的键是一个动态值。每当我尝试附加此键值时,键都会成为变量名。
我该如何解决这个问题?
注意:为了创建现有对象,我使用的是 lodash。
【问题讨论】:
existingObject[key] = value
How can I add a key/value pair to a JavaScript object? 和 JavaScript set object key by variable 的可能重复
如果你想要连续的数字键,为什么不使用数组?
你甚至没有在这里展示任何代码尝试。
【参考方案1】:
您可以使用Object.assign() 和Computed Property names 来执行此操作(例如[key]: value
):
let existingObject =
1: 'prop1': 'prop1 value', 'prop2': 'prop2 value',
2: 'prop1': 'prop1 value', 'prop2': 'prop2 value',
3: 'prop1': 'prop1 value', 'prop2': 'prop2 value'
const key = 4;
const value = 'prop1': 'prop1 value', 'prop2': 'prop2 value'
Object.assign(existingObject, [key]: value);
console.log(existingObject);
.as-console background-color:black !important; color:lime;
.as-console-wrapper max-height:100% !important; top:0;
但是,正如其他人向您评论的那样,这很简单:
existingObject[key] = value;
【讨论】:
以上是关于如何在现有 Javascript 对象中添加具有值的动态键? [复制]的主要内容,如果未能解决你的问题,请参考以下文章