在JavaScript中按两个值对数组排序
我喜欢对两个值进行排序,首先是最高wicket,然后是经济型在JavaScript中按两个值对数组排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我喜欢对两个值进行排序,首先是最高wicket,然后是经济型 var player = [ {"player_id":45,"wickets":3,"economy":"8.00"}, {"player_id":11,"wickets":3,"economy":"10.25"}, {"player_id":22,"wickets":3,"economy":"2.00"}, {"player_id":34,"wickets":3,"economy":"6.
var player = [
{"player_id":45,"wickets":3,"economy":"8.00"},
{"player_id":11,"wickets":3,"economy":"10.25"},
{"player_id":22,"wickets":3,"economy":"2.00"},
{"player_id":34,"wickets":3,"economy":"6.25"},
{"player_id":56,"wickets":7,"economy":"6.51"},
{"player_id":78,"wickets":6,"economy":"7.10"}
] ;
function SortByID(x,y) {
return ((x.wickets == y.wickets) ? 0 : ((x.wickets < y.wickets) ? 1 : -1 ));
return ((x.economy == y.economy) ? 0 : ((x.economy > y.economy) ? -1 : 1 ));
}
player.sort(SortByID);
使用,这将有助于在两个值相同时评估第二个排序选项(差异为0
,这是falsy值)
var播放器=[{
“玩家id”:45,
“wickets”:3,
“经济”:“8.00”
}, {
“玩家id”:11,
“wickets”:3,
“经济”:“10.25”
}, {
“玩家id”:22,
“wickets”:3,
“经济”:“2.00”
}, {
“玩家id”:34,
“wickets”:3,
“经济”:“6.25”
}, {
“玩家id”:56,
“wickets”:7,
“经济”:“6.51”
}, {
“玩家id”:78,
“wickets”:6,
“经济”:“7.10”
}];
函数SortByID(x,y){
返回y.wickets-x.wickets | | x.economy-y.economy;
}
player.sort(SortByID);
控制台日志(播放器)代码>
56 - 7 - 6.51
78 - 6 - 7.10
22 - 3 - 2.00
34 - 3 - 6.25
45 - 3 - 8.00
11 - 3 - 10.25