在一个数组中使objectIds唯一的最快方法是什么?

时间:2015-05-24 14:27:02

标签: javascript node.js mongoose

在数组中使objectIds唯一的最快方法是什么? 为了测试2个objectIds是否相等,我可以将objectIds转换为其他类型,例如数字或字符串吗?

1 个答案:

答案 0 :(得分:0)

最简单的方法是将id添加为对象的键,如下所示:

var array = [1, 2, 3, 4, 5, 6, 2, 3, 4]
var obj = {}
array.forEach(function(id){obj[id] = true})
array = Object.keys(obj)

其他替代方案是对数组进行排序并使用二进制搜索并使用一些数据结构,如AVL树。