json对象数组按对象属性排序

var array = [
    {name: 'a', phone: 1, value: 'val_4'},
    {name: 'b', phone: 5, value: 'val_3'},
    {name: 'd', phone: 3, value: 'val_2'},
    {name: 'c', phone: 4, value: 'val_1'}
]
array.sort(getSortFun('desc', 'phone'));
function getSortFun(order, sortBy) {
    var ordAlpah = (order == 'asc') ? '>' : '<';
    var sortFun = new Function('a', 'b', 'return a.' + sortBy + ordAlpah + 'b.' + sortBy + '?1:-1');
    return sortFun;
}

alert(JSON.stringify(array));

数组自己有sort方法,能够指定排序函数,所以能够动态生成一个排序函数来完成对按指定对象属性排序的需求;数组

注意:sort后原数组序列会发生变化!!函数

相关文章
相关标签/搜索