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

 

posted on 2017-11-19 18:31  上品物语  阅读(16727)  评论(0编辑  收藏  举报