在相同位置合并重叠点的快速方法
Fast way to merge points in overlapped in same position
全部:
假设我有很多点 (x, y),谁能告诉我一个快速的方法(首选简单算法)来删除 Javascript 中重复的位置值点?
我能想到的是:
按 x 排序并一一比较。
您似乎在寻找 Javascript 的某种 HashSet
。对于我们的目的来说足够方便,Javascript Objects
表现得足够像那样以一种非常简单的方式做你想做的事:
// Assuming points is an array of objects that look like {x:i, y:i}
var uniquePoints = {};
for (var i = 0; len = points.length; i < len; i++) {
var point = points[i];
uniquePoint[point.x + '_' + point.y] = point;
}
在 for
循环结束时,您将得到一个包含所有唯一点的对象。
全部:
假设我有很多点 (x, y),谁能告诉我一个快速的方法(首选简单算法)来删除 Javascript 中重复的位置值点?
我能想到的是: 按 x 排序并一一比较。
您似乎在寻找 Javascript 的某种 HashSet
。对于我们的目的来说足够方便,Javascript Objects
表现得足够像那样以一种非常简单的方式做你想做的事:
// Assuming points is an array of objects that look like {x:i, y:i}
var uniquePoints = {};
for (var i = 0; len = points.length; i < len; i++) {
var point = points[i];
uniquePoint[point.x + '_' + point.y] = point;
}
在 for
循环结束时,您将得到一个包含所有唯一点的对象。