把某个值相等的对象合并起来,其他保留
var obj1 = [
{ label: 'aaa', value: 111 },
{ label: 'bbb', value: 222 },
{ label: 'ccc', value: 333 }
];
var obj2 = [
{ label: 'aaa', url: 'AAA' },
{ label: 'bbb', url: 'BBB' },
{ label: 'ddd', value: '2', url: 'CCC' }
];
// 期望结果:
[
{ label: 'aaa', value: 111, url: 'AAA' },
{ label: 'bbb', value: 222, url: 'BBB' },
{ label: 'ccc', value: 333 }
{ label: 'ddd', value: '2', url: 'CCC' }
]
我没找到 Lodash 里有一次成型的方法,我回答过另一个类似的问题,可以参考下:
https://segmentfault.com/q/10...
如果用 Lodash 来实现,大概是这样
如果不关心是否修改原数据,
_merge({}, m, ...)
可以不要第 1 个空对象参数,改为_.merge(m, ...)
_.defferenceBy
可以用_.pullAllBy