2013-08-01 80 views
2

在這裏,我有一個nArray函數返回我bigArray - JSON所以用nArray函數創建一個bigArray對象插入JSON數據

例子:

Array[5] 
0: Object 
1: Object 
    DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION: 2.087970147789207 
    lat: "48.866588" 
    leftPosition: 183 
    lng: "2.309037999999987" 
    topPosition: 57 
     __proto__: Object 
2: Object 
3: Object 
4: Object 
length: 5 
__proto__: Array[0] 

正如你可以看到我有Objetcs在bigArray包含:LAT,左,LNG,頂部和DISTANCE_

現在我需要的功能updateTooltipContent從OBJECT其中LATT = LAT獲得距離:

function updateTooltipContent() { 
    var latt = $(this).attr("lat"); 

    //FIND IN WHICH OBJECT IS latt = lat and from that OBJECT[i] get DISTANCE_ ... 

     return "Distance is" + DISTANCE_FROM_PREVIOUS_LOCATION; 
    } 
}); 

有沒有辦法做到這一點?所以,我需要調用函數nArray這將創造bigArray和你在其中找到客體是LATT = lat和從對象獲取[I]距離

回答

1

nArray函數返回bigArray你只需要循環上,並以每次迭代檢查是否latt == lat

var bigArray = nArray(); 
var distance = 0.00; 

for(var x = 0; x < bigArray.length; x++) 
{ 
    if(bigArray[x].lat == latt) 
    { 
     distance = bigArray[x].DISTANCE_FROM_PREVIOUS_OBJECT_LOCATION; 
     break; // no point doing anymore loops as we've found the answer 
    }   
} 

可能需要使用parseFloat函數在JS這取決於你是如何處理的數字。

+0

肯定的,但如何使用parseFloat,你能告訴我 –

+0

只是環繞bigArray [X] .lat的parseFloat功能。檢查此鏈接供其使用http://www.w3schools.com/jsref/jsref_parsefloat.asp更多的例子 – lewis

+0

肯定的,但什麼樣子在我的例子嗎?非常感謝,我會看到這是爲我工作。 –