sort() 方法:
var arr = [{name:'Sharon',age:18},{name;'Kris', age:20}];
var compare = function (prop) {
return function (a, b) {
var val1 = a[prop];
var val2 = b[prop];
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
arr.sort(compare('age'));
// 如果age的值是字符串
var arr = [{name:'Sharon',age:'18'},{name;'Kris', age:'20'}];
var compare = function (prop) {
return function (a, b) {
var val1 = a[prop];
var val2 = b[prop];
if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
val1 = Number(val1);
val2 = Number(val2);
}
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
多属性值进行排序
arr.sort(function (a, b) {
if (a['ordinate'] === b['ordinate']) {
if (a['abscissa'] > b['abscissa']) {
return 1
} else if (a['abscissa'] < b['abscissa']) {
return -1
} else {
return 0
}
} else {
if (a['ordinate'] > b['ordinate']) {
return 1
} else {
return -1
}
}
})