2013-04-12 46 views
0

我目前有一個json數據源,我只想使用「前十名」結果。

這裏是我當前的代碼:

$.each(data.Categories, function (keyCat, valueCat) 
{ 
    //perform some actions here 
}); 

我想只爲最高10 valueCat.Value如果data.Categories.length > 10的data.Categories做到這一點。 valueCat.Value只是該類別中的一些項目。

我希望這是不夠清楚......

+6

是否有一個原因,使用內置的數組排序方法,然後for循環將無法正常工作? –

+1

'data.Categories'已經按長度排序了嗎? –

回答

1

編輯:如果可能的話,排序data.Categories服務器端,這將是更快/更可靠,那麼下面的答案會工作。

假設data.Categories進行排序,這會工作:

$.each(data.Categories, function (index, valueCat) { 
    if(index<10) { 
     //perform some actions here 
    } else { 
     return false; //break out of $.each() 
    } 
}); 

或者,如果分類是一個對象:

var i=0 
$.each(data.Categories, function (keyCat, valueCat) { 
    i++; 
    if(i<10) { 
     //perform some actions here 
    } else { 
     return false; //break out of $.each() 
    } 
}); 
1

其實完全沒有必要使用jQuery的任何現象。它可以很容易地由香草JavaScript功能處理:

data.Categories.sort(function(a,b){ 
    return a.Value - b.Value; 
}); 

for(var i = 0; i < 10; i++){ 
    var valueCat = data.Categories[i]; 
    // Perform Some Actions Here 
}