我有一个列表,其中有 500 000 个对象,每个对象都有一个坐标。我只想在该列表中留下唯一的对象。为此,我执行以下操作:
for (var i = 0; i < features.length; i++) {
for (var j = 0; j < features.length; j++) {
if (features[i].coord == features[j].coord) {
features.splice(features.indexOf(features[j]), 1);
}
}
}
但它不是有效的解决方案,因为它非常慢,复杂度为 O(n^2)。我怎样才能以非常快速的方式只留下独特的元素?