Javascript排序问题

时间:2012-10-06 23:43:09

标签: javascript jquery sorting

我正在使用表行来显示记录的livescores应用程序。排序由tr类名完成,其具有由dateTime + countryId + leagueId + matchId创建的值,因此该类变为类似1349565600312117160466446000000000000000(我在末尾添加一些零以使所有数字具有相同的长度)。 / p>

问题(有或没有零)是数字太大而不能用于使用javascript进行排序所以我很想知道是否有办法实现我想要的。

3 个答案:

答案 0 :(得分:0)

如果所有数字都具有相同的长度,那么您可以将它们排序为字符串。

请注意,如果您的字段长度不同(例如,两位数与一位数的国家/地区ID),则可能会遇到麻烦。在这种情况下,您可能希望在将所有值打包到类名之前对其进行填充,或者只是将值与一些非数字字符和分组数的排序数组连接。

答案 1 :(得分:0)

由于所有数字的长度相同,请使用排序字符串的技巧。它会将此数字转换为字符并根据ASCII值对其进行排序。

$(function(){    
    var strings = [];
    strings.push(your_value); // your_value like 1349565600312117160466446000000000000000
    strings.sort();
}); 

在字符串数组中插入尽可能多的值,strings.sort()将对它们进行排序!

答案 2 :(得分:0)

你可以有两个功能:

  1. 一个将此号码拆分为单独的项目,就像您提到的那样
  2. 一个重新创建它们。
  3. 在页面加载时,调用将遍历DOM中所有项目的函数,填充数组,在那里进行排序,然后重新迭代数组以创建新的DOM顺序