NodeJS对象数组Array 根据对象object key的值排序sort
有个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));