根据对象中的值对一组对象进行排序
这个问题在这里已经有了答案:
由于您的值只是数字,因此您可以从比较器功能返回它们的差异
winners_tie.sort(function(first, second) {
return first.value - second.value;
});
console.log(winners_tie);
产量
[ { name: 'A', value: 111 },
{ name: 'C', value: 222 },
{ name: 'B', value: 333 } ]
注意: JavaScript的排序不保证稳定。
试试这个:
function compare(a,b) {
if (a.value < b.value)
return -1;
if (a.value > b.value)
return 1;
return 0;
}
winners_tie.sort(compare);
演示 : Js小提琴
对于数组:
function sort_array(arr,row,direc) {
var output = [];
var min = 0;
while(arr.length > 1) {
min = arr[0];
arr.forEach(function (entry) {
if(direc == "ASC") {
if(entry[row] < min[row]) {
min = entry;
}
} else if(direc == "DESC") {
if(entry[row] > min[row]) {
min = entry;
}
}
})
output.push(min);
arr.splice(arr.indexOf(min),1);
}
output.push(arr[0]);
return output;
}
http://jsfiddle.net/c5wRS/1/
链接地址: http://www.djcxy.com/p/19335.html上一篇: Sort an array of objects based on values in the objects