Javascript 如何从阵列中删除重复点?
我有以下几点:Javascript 如何从阵列中删除重复点?,javascript,Javascript,我有以下几点: 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:
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);
}
});
上述代码将在数组中循环,检查答案的唯一性,如果唯一,则将其推入答案中您可以使用reduce方法进行此操作,这可能会对您有所帮助。。可能重复的