Javascript Underline.js获取唯一对象的数组
我有两个对象数组。阵列之间存在重复项。我想将它们合并到一个包含所有唯一对象的数组中(这样就不会有重复的对象) 如何通过比较每个对象的“id”来实现这一点 Underline.js有一个名为Javascript Underline.js获取唯一对象的数组,javascript,arrays,underscore.js,Javascript,Arrays,Underscore.js,我有两个对象数组。阵列之间存在重复项。我想将它们合并到一个包含所有唯一对象的数组中(这样就不会有重复的对象) 如何通过比较每个对象的“id”来实现这一点 Underline.js有一个名为..uniq()的方法。它看起来是正确的,但我无法获得“迭代器”参数的语法正确 var firstArray = [{ id: 1, name: "foo"}, { id: 2, name: "bar" }]; var secondArray = [{ id: 2, name: "boop" }, { id:
..uniq()
的方法。它看起来是正确的,但我无法获得“迭代器”参数的语法正确
var firstArray = [{ id: 1, name: "foo"}, { id: 2, name: "bar" }];
var secondArray = [{ id: 2, name: "boop" }, { id: 3, name: "baz" }];
firstArray.push(secondArray);
var myUniqueArray = _.uniq(firstArray, false, ???);
myUniqueArray // [{ id: 1, name: "foo"}, { id: 2, name: "bar" }, { id: 3, name: "baz" }];
您应该能够通过与用于筛选项的属性名称的第二个参数一起使用的方法来实现这一点:
var firstArray=[{id:1,名称:“foo”},{id:2,名称:“bar”}];
var secondArray=[{id:2,名称:“boop”},{id:3,名称:“baz”}];
var result=uq.uniq(firstArray.concat(secondArray),'id');
警报(JSON.stringify(result,null,4))代码>
以下各项应能做到这一点:
var myUniqueArray = _.uniq(firstArray.concat(secondArray), false, function (obj) {
return obj.id;
});
此处的迭代者将生成一个检查唯一性的值,在本例中为id
属性值
这是一个。并且您实际上不需要使用外部库。