有个js对象数组 var ary=[{id:1,name:"b"},{id:2,name:"b"}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数
函数定义:
1function keysrt(key,desc) { 2 return function(a,b){ 3 return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]); 4 } 5}
使用:
1var ary=[{id:1,name:"b"},{id:2,name:"b"}]; 2ary.sort(keysrt('name',true)); 3ary.sort(keysrt('name',false)); 4ary.sort(keysrt('id',false));
骚吧?