我有这个点数组:
0:Point {X: 181708.79357001217, Y: 659243.26713151, rotate: ƒ, move: ƒ, resize: ƒ, …}
1:Point {X: 182534.29357001217, Y: 657010.1837981766, rotate: ƒ, move: ƒ, resize: ƒ, …}
2:Point {X: 186545.37690334552, Y: 660957.76713151, rotate: ƒ, move: ƒ, resize: ƒ, …}
3:Point {X: 181708.79357001217, Y: 659243.26713151,rotate: ƒ, move: ƒ, resize: ƒ, …}
我需要删除具有相同坐标的点。
例如索引为 0 和 3 的点具有相同的坐标。所以在我删除它之后期望得到这个数组:
0:Point {X: 181708.79357001217, Y: 659243.26713151, rotate: ƒ, move: ƒ, resize: ƒ, …}
1:Point {X: 182534.29357001217, Y: 657010.1837981766, rotate: ƒ, move: ƒ, resize: ƒ, …}
2:Point {X: 186545.37690334552, Y: 660957.76713151, rotate: ƒ, move: ƒ, resize: ƒ, …}
所以我的问题是如何仅使用 javascript 从 aary 中删除重复点?
最佳答案
let array = [
{X: 181708.79357001217, Y: 659243.26713151},
{X: 182534.29357001217, Y: 657010.1837981766},
{X: 186545.37690334552, Y: 660957.76713151},
{X: 181708.79357001217, Y: 659243.26713151}
]
let answer = [];
array.forEach(arr=> {
if(!answer.some(an => JSON.stringify(an) === JSON.stringify(arr))){
answer.push(arr);
}
});
上面的代码将循环遍历数组,检查answer
的唯一性,如果唯一则将其插入answer
关于javascript - 如何从数组中删除重复的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50482466/