var a = {};
a['fruit'] = "apple";
var b = {};
b['vegetable'] = "carrot";
var food = {};
Run Code Online (Sandbox Code Playgroud)
输出变量'food'必须包含两个键值对.
Nin*_*olz 43
你可以用Object.assign.
var a = { fruit: "apple" },
b = { vegetable: "carrot" },
food = Object.assign({}, a, b);
console.log(food);Run Code Online (Sandbox Code Playgroud)
对于没有支持的浏览器Object.assign,您可以迭代属性并手动分配值.
var a = { fruit: "apple" },
b = { vegetable: "carrot" },
food = [a, b].reduce(function (r, o) {
Object.keys(o).forEach(function (k) { r[k] = o[k]; });
return r;
}, {});
console.log(food);Run Code Online (Sandbox Code Playgroud)
Roh*_*dal 16
方法:
1.使用JavaScript Object.assign()方法.
var a = {};
a['fruit'] = "apple";
var b = {};
b['vegetable'] = "carrot";
var food = Object.assign({}, a, b);
console.log(food);Run Code Online (Sandbox Code Playgroud)
2.使用自定义功能.
var a = {};
a['fruit'] = "apple";
var b = {};
b['vegetable'] = "carrot";
function createObj(obj1, obj2){
var food = {};
for (var i in obj1) {
food[i] = obj1[i];
}
for (var j in obj2) {
food[j] = obj2[j];
}
return food;
};
var res = createObj(a, b);
console.log(res);Run Code Online (Sandbox Code Playgroud)
3.使用ES6 Spread运算符.
let a = {};
a['fruit'] = "apple";
let b = {};
b['vegetable'] = "carrot";
let food = {...a,...b}
console.log(food)Run Code Online (Sandbox Code Playgroud)
您可以在es6中使用spread运算符,但是您需要使用babel来转换代码以使其对跨浏览器友好。
const a = {};
a['fruit'] = "apple";
const b = {};
b['vegetable'] = "carrot";
const food = { ...a, ...b }
console.log(food)Run Code Online (Sandbox Code Playgroud)