js如何自定义数组排序找出距离最近的?
网友回复
我们假设js中一个数组有每个地点的经纬度,我们制定一个地点的经纬度,来对数组中的与这个点的距离长短进行排序,可以使用以下步骤:
1、计算每个地点到目标点的距离。
2、创建一个包含地点和对应距离的对象数组。
3、使用比较函数对这个对象数组进行排序。
4、提取排序后的地点数组。
以下是一个示例代码,演示如何在JavaScript中实现这个过程:
// 计算两点之间的距离(使用经纬度) function calculateDistance(lat1, lon1, lat2, lon2) { const R = 6371; // 地球平均半径(单位:千米) const dLat = (lat2 - lat1) * (Math.PI / 180); const dLon = (lon2 - lon1) * (Math.PI / 180); const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat1 * (Math.PI / 180)) * Math.cos(lat2 * (Math.PI /...
点击查看剩余70%