有一个数据列表,我需要根据根据ID依次来取里面的第9,3,8,4项,具体的实现方法。
var arr = [ {id:1,title:'我是第一个'}, {id:2,title:'我是第二个'}, {id:3,title:'我是第三个'}, {id:4,title:'我是第四个'}, {id:5,title:'我是第五个'}, {id:6,title:'我是第六个'}, {id:7,title:'我是第七个'}, {id:8,title:'我是第八个'}, {id:9,title:'我是第九个'}, {id:10,title:'我是第十个'}, ]; console.log(arr); var cur = [9,3,8,4]; console.log(cur); var push = []; for(x in arr){ if(in_array(arr[x].id,cur)){ arr[x]['sort'] = cur.indexOf(arr[x].id); push.push(arr[x]); }; }; push = push.sort(function(a,b){ if(a.sort<b.sort){ return -1; }else if(a.sort>b.sort){ return 1; } return 0; }); for(x in push){ console.log(push[x].title); }; function in_array(search,array){ for(var i in array){ if(array[i]==search){ return true; } } return false; }
效果: