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: ƒ, 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/

相关文章:

javascript - 如何从 javascript 添加文本到 HTML 页面?

javascript - 如何在全局中设置javascript函数?

javascript - 使用单个全局命名空间,如何从工具的方法访问命名空间的属性/方法?

javascript - Node.js Mongoose 没有任何反应

javascript - 如何使用 fetch() 在 ReactJS 中发送 HTTP header

javascript - 在 ionic 中使用 ng-click 时,类延迟更改为 'activated'

javascript - 如果文本框有值则显示下拉列表

javascript - 在没有 jQuery 的情况下检查 CSS 类是否存在

javascript - Ember.js 中查询参数的 URL 编码

javascript - 如何在angularjs中按日期范围过滤数据?