联合数组如何只验证一个 属性
How union arrays with validate only one property
数组的连接。
我需要 运行 个 "Join Array" 个对象,但是,我需要删除重复的对象,请参阅:
例子
var objArray1 = [
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 }
];
var objArray2 = [
{ Id: 2, Name: 'Pedro', Order: 6 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
实际代码:
var result = _.union(objArray1,objArray2);
=> [
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 },
{ Id: 2, Name: 'Pedro', Order: 6 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
我需要这个结果:
[
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
基本我需要用过滤器连接数组属性,我需要用 For 来实现,但我想要一个更好的解决方案
使用下划线unique
函数如下
var result = _.uniq(_.union(objArray1, objArray2), false, function(item){ return item.Id; });
不能 100% 确定 false
是否应该是 true
或者,这似乎是 SO 上的一种趋势——性感的 ES2015 版本
var result = _.uniq(_.union(objArray1, objArray2), false, item => item.Id);
数组的连接。
我需要 运行 个 "Join Array" 个对象,但是,我需要删除重复的对象,请参阅:
例子
var objArray1 = [
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 }
];
var objArray2 = [
{ Id: 2, Name: 'Pedro', Order: 6 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
实际代码:
var result = _.union(objArray1,objArray2);
=> [
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 },
{ Id: 2, Name: 'Pedro', Order: 6 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
我需要这个结果:
[
{ Id: 1, Name: 'João', Order: 2 },
{ Id: 2, Name: 'Pedro', Order: 5 },
{ Id: 3, Name: 'Manoel', Order: 9 }
];
基本我需要用过滤器连接数组属性,我需要用 For 来实现,但我想要一个更好的解决方案
使用下划线unique
函数如下
var result = _.uniq(_.union(objArray1, objArray2), false, function(item){ return item.Id; });
不能 100% 确定 false
是否应该是 true
或者,这似乎是 SO 上的一种趋势——性感的 ES2015 版本
var result = _.uniq(_.union(objArray1, objArray2), false, item => item.Id);