JSFiddle - React, Tailwind, and code Playground

JavaScript

function calcCrow(lat1, lon1, lat2, lon2) {
    var R = 6371; // km
    var dLat = toRad(lat2 - lat1);
    var dLon = toRad(lon2 - lon1);
    var lat1 = toRad(lat1);
    var lat2 = toRad(lat2);

    var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
        Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
    var d = R * c;
    return d;
}

function toRad(Value) {
    return Value * Math.PI / 180;
}

a = Date.now();

seed = [30, 110];
for (let i = 0; i < 10000; i++) {
    //随机生成一个服务员的位置
    let p1 = [seed[0] + Math.random(), seed[1] + Math.random()];
    let p1d = [];
    for (let k = 0; k < 10000; k++) {
        //随机生成一个服务地址的位置
        let p2 = [seed[0] + Math.random(), seed[1] + Math.random()];
        let d = calcCrow(p1[0], p1[1], p2[0], p2[1]);
        //p1d.push(d);
    }
    //p1d.sort();
}

b = Date.now();
alert(b - a);