2014-06-12 114 views
0

我得到了像这样的Ajax成功的json数据。如何过滤和订购Json数据

var videolist = [ 
    { 
    "video_id": 0, 
    "video_name": "Guerrero Beard", 
    "timelength": 15 
    }, 
    { 
    "video_id": 1, 
    "video_name": "Hallie Key", 
    "timelength": 8 
    }, 
    { 
    "video_id": 2, 
    "video_name": "Pitts Lloyd", 
    "timelength": 27 
    }, 
    { 
    "video_id": 3, 
    "video_name": "Corine Deleon", 
    "timelength": 14 
    } 
] 

而且我通过timelength> 10过滤它,它工作。

var result = []; 
$.each(videolist, function(i, o){ 
    if(videolist[i].timelength >10) 
     result.push(videolist[i]); 
}); 

console.log(result); 

但我也需要对它进行排序。我怎样才能排序这个数组?

回答

0
//filter 
var result = videolist.filter(function(item) { 
    return item.timelength > 10 
}); 

//sort 
var result = result.sort(function(a,b) { 
    return a.timelength - b.timelength 
}); 

console.log(result); 

您还可以通过jQuery的

var filterbyjquery = $.grep(videolist, function(n, i) { 
    return n.timelength > 10; 
}); 

console.log(filterbyjquery); 

fiddle

+0

过滤不幸的是'过滤器()'方法将无法在IE浏览器IE9之前的工作。 – hutchbat