在多个对象数组之间查找唯一值

时间:2015-12-13 15:45:14

标签: javascript arrays parsing javascript-objects

我有3个大型CSV文件解析的对象数组。它们具有相同的格式:[{ count: 2, name: "foo", unique: false}, {count: 4, name: "foo", unique: false}],每个数组包含500个对象。我正在寻找一种优雅的方法来检查所有三个数组的名称键的值,如果它只存在于一个数组中,则将唯一键的布尔值更改为true。除了证明价格昂贵的蛮力方法外,我似乎无法想到任何事情。不必是香草javascript,下划线等都没问题。有任何想法吗?

1 个答案:

答案 0 :(得分:2)

你可以连接3个数组然后用下划线搜索唯一身份(你说你不介意):

var all = a1.concat(a2).concat(a3)
_.uniq(all, function(obj){
    return obj.count;
});

同样_.uniq(array, [isSorted], [iteratee])为您提供了对数组进行排序以提高性能的选项,但如果值得的话,它还取决于程序的用例。

总的来说,在你知道它的问题之前,我不会过分担心性能。

http://underscorejs.org/#uniq

相关问题