在js中排序我们通常使用sort()方法,默认sort()方法排序是按照字符的顺序进行排序,如果需要按照数字进行排序我们需要进行如下处理:
sort(function(a,b){return a - b;})
这样我们就可以对数组中的数字进行按照数字的顺序进行排序,如果我们需要对一个对象数组按照对象中的某一项进行排序需要怎么做呢,我们可以把需要排序的属性出入如上参数中即可;
var arr = []; //一个存储对象的数组 两个属性 分别为key value
//排序函数
function compare(str) {
return function(obj1, obj2) {
var value1 = obj1[str];
var value2 = obj2[str]
if (value1 < value2) {
return 1;
} else if (value1 > value2) {
return -1;
} else {
return 0;
}
}
}
arr.sort(compare("key"));
这样 我们就可以按照对象中的key属性进行排序。