将许多键/值对添加到现有JavaScript对象的快捷方式
Short-hand to add many key/value pairs to an existing JavaScript object?
如果我有一个现有的POJO,并想向其中添加一些键/值对,我通常会这样做:
var existingObject = {
firstValue: 'hello'
};
/* some time later... */
existingObject.secondValue = 'world';
existingObject.thirdValue = 'new value';
existingObject.fourthValue = 'another value';
existingObject.fifthValue = 'another value';
existingObject.sixthValue = 'another value';
existingObject.seventhValue = 'another value';
existingObject.eighthValue = 'another value';
existingObject.adInfinitum = 'again and again...';
但我想知道是否有比这种长期方法更有效的方法?但是,请注意,我正在寻找创建临时对象和调用extend
的替代方案。
此外,简单地将对象存储在较小的变量中(如var a = existingObject;
和使用a.newValue = 'something'
)并不是我想要的解决方案。
有办法做到这一点吗?
使用新的ES6方法Object.assign
,可以消除许多重复的样板。示例:
var existingObject = {
firstValue: 'hello'
};
/* some time later... */
Object.assign(existingObject, {
secondValue: 'world',
thirdValue: 'new value',
fourthValue: 'another value',
fifthValue: 'another value',
sixthValue: 'another value',
seventhValue: 'another value',
eighthValue: 'another value',
adInfinitum: 'again and again...'
});
// existingObject now has all these properties
这将在不使用其他临时变量或调用某些外部extend
方法的情况下完成。
简短回答:没有。
或者,我能建议的最好的方法是,使用一个可变参数的函数,在键和值之间交替使用。只需将其作为一个空函数,可以选择扩展现有对象。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值