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;
        }
    }
}
原文地址:https://www.cnblogs.com/senyier/p/7337711.html