gpt4 book ai didi

javascript - 排名数字数组值

转载 作者:行者123 更新时间:2023-11-28 20:47:44 25 4
gpt4 key购买 nike

我有一个数字数组,我想按降序显示它们,但作为排名(第一、第二、第三等)而不是它们的数值,同时考虑到平局(相等的数值) .

我的排序如下:

function mySorting(a, b) {
a = a;
b = b;
return a == b ? 0 : (b < a ? -1 : 1)
}

这对于调用来说效果很好:

var myArray=[28,92,12,12,2];
myArray.sort(mySorting);

任何人都可以指出正确的方向,告诉我如何将 myArray 的值排序为第 1、第 2、第 3 等,同时考虑到关系?

提前非常感谢。

最佳答案

如果您使用 jQuery,则可以利用 2 个数组方法 $.inArray()$.grep

创建用于排名的唯一值数组:

var ranks = $.grep(myArray, function(item, idx) {
return item != myArray[idx - 1];
}).reverse();/* your sort function is descending I added reverse to the ranks , remove if needed*/

用途:

$.each(myArray, function(idx, item) {
var rank= $.inArray( item, ranks)+1;/* index position and add one for 1st,second etc*/
$('body').append('Rank of '+item+ ' is '+ rank+'<br>')

})

演示:http://jsfiddle.net/XWs5j/1/

API 引用:

http://api.jquery.com/jQuery.grep/

http://api.jquery.com/jQuery.inArray/

编辑:用于创建“关系”数组并修改关系值的输出的附加演示

http://jsfiddle.net/XWs5j/2/

关于javascript - 排名数字数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com