【问题标题】:matrix,distance, javascript矩阵,距离,javascript
【发布时间】:2023-09-27 10:04:01
【问题描述】:
function getDistance(lat1, lat2, lon1, lon2){
    var R = 6371; //KM
    var d = Math.acos(Math.sin(lat1) * Math.sin(lat2) +
            Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R
        return d    
};


var items = [[1,2],[3,4],[5,6]];
alert(items[0][0]); // 1​​


document.write(getDistance(items[0][0],items[1][1],items[1][2],items[2][2]));
document.write(getDistance(45,35,41,35));

为什么我不能在函数getDistance 中调用我的数组元素(项)?

【问题讨论】:

  • 由于您是 * 的新手,您应该知道如果该问题对您有足够的帮助,您应该点击绿色复选标记来接受答案。

标签: javascript arrays matrix distance


【解决方案1】:
getDistance(, ... items[1][2], items[2][2]);

数组item[1]items[2] 中没有第三个元素。

【讨论】:

    【解决方案2】:

    没有内部维度具有键 [2] 的数组元素。您的 3 个子数组都只有两个元素,因此它们的可用键只有 [0],[1]

    因此,当这些子数组的最后一个键分别为 items[1][1]items[2][1] 时,您无法访问不存在的元素,例如 items[1][2]items[2][2]

    您测试了items[0][0],但看看当您尝试items[2][2]时会发生什么

    var items = [[1,2],[3,4],[5,6]];
    console.log(items[0][0]); // 1​​
    console.log(items[2][2]); // undefined
    

    【讨论】: