So I have an array of ObjectID's, for example:
console.log(objectIdArray);
得到[ObjectID,ObjectID,ObjectID]
。
但是这里有重复项,当映射到ID字符串时可以看到:
var idArray = objectIdArray.map(objectId => objectId.toString());
console.log(idArray);
给出了一个数组 ["5afa54e5516c5b57c0d43227", "5afa54e5516c5b57c0d43227", "5afa54f0516c5b57c0d43228"]
,可以看到以27结尾的ID被重复两次。
如何筛选这个对象ID数组以删除重复项(保留完整的ObjectID对象,而不仅仅是ID字符串值)?
var map = {}; array.forEach(id => map[id] = true // or original object)
),然后返回Object.keys(map)
或Object.values(map)
。时间复杂度为 O(n)。 - jrasm91