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方法进行此操作,这可能会对您有所帮助。。可能重复的