Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Underline.js获取唯一对象的数组_Javascript_Arrays_Underscore.js - Fatal编程技术网

Javascript 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:

我有两个对象数组。阵列之间存在重复项。我想将它们合并到一个包含所有唯一对象的数组中(这样就不会有重复的对象)

如何通过比较每个对象的“id”来实现这一点

Underline.js有一个名为
..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
属性值

这是一个。

并且您实际上不需要使用外部库。