NodeJS对象数组Array 根据对象object key的值排序sort

时间:2021-10-20 22:06:20

有个js对象数组 var ary=[{id:1,name:”b”},{id:2,name:”b”}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数.

    /**
* 对数组中的对象,按对象的key进行sortType排序
* @param key 数组中的对象为object,按object中的key进行排序
* @param sortType true为降序;false为升序
*/
keysort(key,sortType) {
return function(a,b){
return sortType ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
}
}

使用方法:

var ary=[{id:1,name:"b"},{id:2,name:"b"}];
ary.sort(keysrt(
'name',true));
ary.sort(keysrt(
'name',false));
ary.sort(keysrt(
'id',false));