gpt4 book ai didi

javascript - 合并包含数组的对象

转载 作者:行者123 更新时间:2023-11-30 12:30:37 24 4
gpt4 key购买 nike

如何使用 lodash 合并包含数组和其他字段的两个对象?

例如,

obj1 = {
name: "abc",
hobbies: ["reading","cricket"]
}
obj2 = {
name: "abc2",
hobbies: ["reading","hockey"]
}
_.merge(obj1, obj2)

// output
{
name: "abc2",
hobbies: ["reading","hockey"]
}

这会在将 obj1 合并到 obj2 之后返回一个对象,但不会合并爱好。

最佳答案

Underscore.js没有 _.merge 函数,所以我假设您使用的是 Lo-Dash .如果是这种情况,您可以使用 callback 参数来执行您想要的操作

var obj1 = { name: 'abc', hobbies: ['reading', 'cricket'] };
var obj2 = { name: 'def', hobbies: ['reading', 'hockey'] };

var output = _.merge(obj1, obj2, function(a,b) {
return _.isArray(a) ? _.union(a,b) : undefined;
} );
console.log( output );

// output

{ name: 'def', hobbies: ['reading', 'cricket', 'hockey'] }

编辑

工作 JSFiddle .

关于javascript - 合并包含数组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27827847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com