Gav*_*Ang 5 javascript arrays merge lodash
我需要将 2 个对象与嵌套数组合并
var dest = {
id: "865",
arr: [{
id: "123",
value: "First" }]
};
var src = {
id: "865",
arr: [{
id: "456",
value: "Second" }]
};
Run Code Online (Sandbox Code Playgroud)
生产
merge = {
id: "865",
arr: [{id: "123",
value: "First"},
{id: "456",
value: "Second"}]
};
Run Code Online (Sandbox Code Playgroud)
我尝试使用 _.merge(dest, src) (使用 Lodash)和其他一些方法,但似乎第二个对象正在覆盖第一个对象,因为它没有按照我想要的方式处理嵌套数组。
做这个的最好方式是什么?
谢谢,
您可以使用 Lodash _.mergeWith方法:
var dest = {
id: "865",
arr: [{
id: "123",
value: "First"
}]
};
var src = {
id: "865",
arr: [{
id: "456",
value: "Second"
}]
};
var merge = _.mergeWith({}, src, dest, function(a, b) {
if (_.isArray(a)) {
return b.concat(a);
}
});
console.log(merge);
Run Code Online (Sandbox Code Playgroud)
它允许您传递定制器以便以“定制”方式合并数组。
这是小提琴。希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
8220 次 |
| 最近记录: |