在数学中,欧几里得距离(别称:欧氏距离)或欧几里得度量是欧几里得空间中两点间“普通”(即直线)距离。使用这个距离,欧氏空间成为度量空间。相关联的范数称为欧几里得范数。较早的文献称之为毕达哥拉斯度量。
计算任意数量维度中两点之间的距离。
- 使用
Object.keys()
和Array.prototype.map()
将每个坐标映射到两点之间的差。 - 使用
Math.hypot()
计算出两点之间的欧氏距离。
const euclideanDistance = (a, b) =>
Math.hypot(...Object.keys(a).map((k) => b[k] - a[k]))
euclideanDistance([1, 1], [2, 3]) // ~2.2361
euclideanDistance([1, 1, 1], [2, 3, 2]) // ~2.4495
const distance = (x0, y0, x1, y1) => Math.hypot(x1 - x0, y1 - y0)
distance(1, 1, 2, 3) // ~2.2361
此示例来自 30 seconds of code 的 euclideanDistance
- Euclidean Distance - distance between two points/vectors/matrices
- Euclidean Greatest Common Divisor