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));