js 按指定属性给对象数组排序(json数组)

有时,我们有一个json对象的数组集合,如何按指定对象属性来进行排序?

//fieldArr为一个json对象数组
var  fieldArr = fieldArr.sort(compare("OrderNum"));//根据OrderNum排序-升序


//自定义方法compare,用于对属性prop排序比较
//数组对象排序
var compare = function (prop) {
    return function (obj1, obj2) {
        var val1 = obj1[prop];
        var val2 = obj2[prop];
        if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
            val1 = Number(val1);
            val2 = Number(val2);
        }
        if (val1 < val2) {
            return -1;
        } else if (val1 > val2) {
            return 1;
        } else {
            return 0;
        }
    }
}

 

posted on 2017-08-10 10:07  儿时精神  阅读(1258)  评论(0编辑  收藏  举报

导航