矩阵,距离,javascript

时间:2012-08-12 12:16:16

标签: javascript arrays matrix distance

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中调用我的数组元素(项)?

2 个答案:

答案 0 :(得分:0)

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

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

您测试了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

答案 1 :(得分:0)

getDistance(, ... items[1][2], items[2][2]);

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