我正在使用表格行来显示记录的 livescores 应用程序。排序由 tr 类名完成,该类名的值由 dateTime+countryId+leagueId+matchId 创建,因此该类变为类似于 1349565600312117160466446000000000000000 (我在末尾添加一些零以使所有数字具有相同的长度)。
问题(有或没有零)是数字太大而无法用于使用javascript进行排序,所以我想知道是否有办法实现我想要的。
我正在使用表格行来显示记录的 livescores 应用程序。排序由 tr 类名完成,该类名的值由 dateTime+countryId+leagueId+matchId 创建,因此该类变为类似于 1349565600312117160466446000000000000000 (我在末尾添加一些零以使所有数字具有相同的长度)。
问题(有或没有零)是数字太大而无法用于使用javascript进行排序,所以我想知道是否有办法实现我想要的。
如果所有数字的长度相同,那么您可以将它们排序为字符串。
请注意,如果您的字段长度不同(例如两位数与一位数的国家/地区 ID),您可能会遇到一些麻烦。在这种情况下,您可能希望在将所有值打包到类名中之前对其进行零填充,或者只是将这些值与一些非数字字符连接起来并对拆分数字数组进行排序。
由于所有数字的长度相同,使用字符串排序技术。它将这个数字转换为字符,并根据 ASCII 值对它们进行排序。
$(function(){
var strings = [];
strings.push(your_value); // your_value like 1349565600312117160466446000000000000000
strings.sort();
});
将尽可能多的值插入字符串数组,然后strings.sort()
对它们进行排序!
你可以有2个功能:
在页面加载时,调用将遍历 DOM 中所有项目的函数,并填充一个数组,在那里进行排序,然后重新迭代数组以创建新的 DOM 顺序