javascript - 如何使用 Javascript every() 方法来检查数组中的一个元素与所有其他元素?

标签 javascript arrays

我的情况是这样的,我有一个 Point 对象,它具有 'x''y' 属性。 Point 也有一个 getDistance() 方法来计算两个 Point 之间的距离。

例子:

if (position.getDistance(prevPosition) > 10) {
    // add new Point
} else {
    // don't add new Point
}

我有一个点数组,我需要检查新点是否离数组中的所有其他点太近。查看 Javascript 文档,every() 方法似乎是要使用的函数,但我正在努力实现它。

function getDistance(position, prevPosition) {
    return position.getDistance(prevPosition) > 10;
}

if (points.every(position)) {
    // add new Point
} else {
    // don't add Point
}

任何帮助将不胜感激

最佳答案

.every 采用一个函数,并且数组的每个元素都被传递给该函数(在您的情况下,每个点都被传递)然后您必须返回谓词(是否远):

  points.every(position => position.getDistance(newPoint) > 10)

关于javascript - 如何使用 Javascript every() 方法来检查数组中的一个元素与所有其他元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741841/

相关文章:

javascript - 如何在 Angular 谓词中使用保留字符?

javascript - 访问唯一的嵌套 JSON 数组项

php - 在没有for循环的情况下在php中组合数组

javascript - 在javascript中比较二维数组和一维数组

javascript - jquery.get 返回 php 代码?

javascript - JavaScript 中的整数除法错误

javascript - 如何向 CoffeeScript 中的安全闭包添加参数/参数

javascript - 无法通过 REST 客户端发送数组中的多个对象(Insomnia)

java - 文件[]到字符串[]

c++ - 跟踪动态内存