这家伙一点都不懒

json对象按照某一名称的值对排序

Javascript2014-02-14 11:11

第一种方法:

function arraySort(array, propertyName){
    for(var i=0,len=array.length;i<len;i++){
        for(var j=1;j<len-i;j++){
            if(array[j][propertyName] < array[j-1][propertyName]){
                array[j] = [array[j-1], array[j-1]=array[j]][0];
            }
        }
    }
    return array;
};
//例子
var list = [
    {'name': 'xiaoming', 'score': 10},
    {'name': 'xiaowang', 'score': 5},
    {'name': 'xiaozhang', 'score': 9},
    {'name': 'xiaohuang', 'score': 5}
];
console.log(arraySort(list, 'score'));

第二种方法,利用数组排序函数sort:

function arraySort(array, propertyName){
    return array.sort(function(a, b){
        return a[propertyName] - b[propertyName];
    });
};
//例子
var list = [
    {'name': 'xiaoming', 'score': 10},
    {'name': 'xiaowang', 'score': 5},
    {'name': 'xiaozhang', 'score': 9},
    {'name': 'xiaohuang', 'score': 5}
];
console.log(arraySort(list, 'score'));
评论(1)
  • 邢文亮: 新功能第一发...6年7个月前
还可输入200个字