如何使用ES6将两个具有函数的对象合并为一个新对象
How do you merge two objects with functions into a new one using ES6?
我想使用ES6将两个具有函数的对象连接到一个合并的对象中,但不知道如何做到这一点。
例如,我想合并这两个对象:
const first = {
first: function() {
return {
type: FIRST
};
}
};
const second = {
second: function() {
return {
type: SECOND
};
}
};
进入新对象:
const new = {
first: function() {
return {
type: FIRST
};
},
second: function() {
return {
type: SECOND
};
}
}
最好的方法是什么?我尝试了Object.assign({}, first, second);
,但返回了{}
。
任何帮助都将不胜感激!
您的示例应该确实有效:
var joined = Object.assign({}, first, second);
小心使用不带空对象的assign作为第一个参数,例如:
var joined = Object.assign(first, second);
因为first
将被突变。
运行您自己的代码(并且正在工作)的JSBin示例:
https://jsbin.com/tekokawice/edit?js,控制台
您应该能够为此使用Object.assign:
注意,正如Chris在下面的回答中提到的,这将使第一个对象发生变异。
JSBin示例
var joined = Object.assign(first, second);
// joined:
{
first: function first() {
return {
type: FIRST
};
},
second: function second() {
return {
type: SECOND
};
}
}
相关文章:
- 将两个数组与对象合并
- 如何使用ES6将两个具有函数的对象合并为一个新对象
- 将值和属性从一个对象合并到另一个对象
- 如何将两个json对象合并为一个json
- 将来自多个控制器的 AngularJS 范围对象合并到一个对象中
- 在 node.js 中将 2 个 json 对象合并为一个
- Angular JS将2个对象合并为第三个对象
- JavaScript - 将两个数组对象合并为一个arr对象,然后遍历每个索引/对象
- 将同一数组中的多个对象合并为一个对象
- 如何在 Javascript 中将嵌套对象合并到它们的父对象中
- 将状态与来自循环反应的对象合并
- 将数组合并到对象以及对象合并到数组
- 如何将两个d3对象合并为一个进行批量操作
- 将JSON对象与JSON子对象合并
- 将一个对象合并到另一个对象的最佳方式(无覆盖)
- 使用jQuery扩展方法将函数与对象合并,为什么'只返回s的函数
- 如何将数组与值为数组的对象合并
- 循环遍历数组以查找具有匹配id的所有对象,并将这些对象合并到数组中的一个元素中
- Javascript将对象合并到key ->一组值
- 如何将两个查询对象合并为一个查询对象