一:根据对象值(数字大小)
var arr = [{
'name': 'abc',
'age': 20
},
{
'name': 'cde',
'age': 19
},
{
'name': 'dfc',
'age': 25
},
{
'name': 'bde',
'age': 21
},
]
function compare(property) {
return function (a, b) {
return (a[property] - b[property])
}
}
console.log(arr.sort(compare('age')))
二:根据对象值(字符串)
var arr = [{
'name': 'abc',
'age': 20
},
{
'name': 'cde',
'age': 19
},
{
'name': 'dfc',
'age': 25
},
{
'name': 'bde',
'age': 21
},
]
function compare(property) {
return function (a, b) {
var nameA = a[property].toUpperCase();
var nameB = b[property].toUpperCase();
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
return 0;
}
}
console.log(arr.sort(compare('name')))