如何将两个 JavaScript 对象与 JavaScript 连接起来
How to concat two JavaScript objects with JavaScript
我有两个JavaScript对象,结构如下。
var obj1 = {id1: 10, name1: "stack"};
var obj2 = {id2: 20, name2: "overflow"};
我想使用 Javascript 将它们连接在一起为单个对象(而不是数组)。
结果应该是这样的。
var res = {id: 10, name1: "stack", id2: 20, name2: "overflow"};
有没有一种简单的方法可以使用纯javascript来做到这一点?
注意:我不需要jQuery来执行此操作,我想连接是针对json对象,而不是使用concat
方法的json数组。有没有简单的方法或途径来实现这一点?
使用Object.assign
var obj1 = {a: 1}, obj2 = {b:2}
// Using three arguments so that obj 1 and 2 aren't modified
var result = Object.assign({}, obj1, obj2);
// result.a -> 1
// result.b -> 2
// obj1.b -> undefined
// obj2.a -> undefined
// You could modify obj1
Object.assign(obj1, obj2);
// obj1.b -> 2
波利填充:
if (typeof Object.assign != 'function') {
(function () {
Object.assign = function (target) {
'use strict';
if (target === undefined || target === null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var output = Object(target);
for (var index = 1; index < arguments.length; index++) {
var source = arguments[index];
if (source !== undefined && source !== null) {
for (var nextKey in source) {
if (source.hasOwnProperty(nextKey)) {
output[nextKey] = source[nextKey];
}
}
}
}
return output;
};
})();
}
一个简单的
简单解决方案:
function addToObject(source, target) {
Object.keys(source).forEach(function (k) {
target[k] = source[k];
});
}
var obj1 = { id1: 10, name1: "stack" },
obj2 = { id2: 20, name2: "overflow" },
result = {};
addToObject(obj1, result);
addToObject(obj2, result);
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');
相关文章:
- 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对象并更改值