2012-08-12 244 views
1
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

+0

由於您是Stackoverflow的新手,您應該知道,如果該問題對您有幫助,您應該單擊綠色複選標記來接受答案。 – 0x499602D2 2012-08-12 12:53:01

回答

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 
0
getDistance(, ... items[1][2], items[2][2]); 

沒有第三個元素的數組item[1]items[2]中會發生什麼。