0

I get a json data on ajax success like this.

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
  }
]

And I filtered it by timelength > 10 and it works.

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

console.log(result);

But I also need to sort it. How can I sort this array?

1 Answers1

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);

you can also filter by jquery

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

console.log(filterbyjquery);

fiddle

Md Nazmoon Noor
  • 3,187
  • 1
  • 24
  • 30