JavaScript中根据key的value对json排序

var array = [
    {name: 'a', phone: 1},
    {name: 'b', phone: 5},
    {name: 'd', phone: 3},
    {name: 'c', phone: 4}
]
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));