我有两个json,我希望将它们合并,以使第二个json的所有新对象都将添加到第一个json的现有对象中,但只是新的对象不存在。
function customizer(objValue, srcValue) {
if (_.isArray(objValue)) {
return objValue.concat(srcValue);
}
}
var json1 = {
'a': [
{'b': 2}
]
};
var json2 = {
'a': [
{'b': 2},
{'h': 25}
]
};
console.log(_.mergeWith(json1, json2, customizer));
结果:
{
a: [{b: 2}, {b: 2}, {h: 25}]
}
预期结果:
{
a: [{b: 2}, {h: 25}]
}
我正在使用lodash进行操作,但结果不是我想要的。
你有什么想法吗?谢谢
答案 0 :(得分:0)
您可以使用Set
function customizer(objValue, srcValue) {
if (_.isArray(objValue)) {
return objValue.concat(srcValue);
}
}
var json1 = {
'a': [
{'b': 2}
]
};
var json2 = {
'a': [
{'b': 2},
{'h': 25}
]
};
var a=_.mergeWith(json1, json2, customizer);
console.log(new Set([...a]))