我在这里使用 javascript 对字母数字字符串值进行排序。但它单独对字符串进行排序。我需要的是从字符串中拆分数值并对数值进行排序。这是我的代码
function sortUnorderedList(ul, sortDescending) {
if (typeof ul == "string")
ul = document.getElementById(ul);
var lis = ul.getElementsByTagName("li");
var vals = [];
for (var i = 0, l = lis.length; i < l; i++)
vals.push(lis[i].innerHTML);
vals.sort();
if (sortDescending)
vals.reverse();
for (var i = 0, l = lis.length; i < l; i++)
lis[i].innerHTML = vals[i];
}
有什么建议吗?
编辑:当前结果
PPG 101
PPG 102
PPG 57
PPG 58
PPG 99
预期结果:
PPG 57
PPG 58
PPG 99
PPG 101
PPG 102
最佳答案
要执行数字排序,您必须在调用排序方法时将函数作为参数传递。
vals.sort(function(a, b) {
return (a-b);
});
参见 http://www.javascriptkit.com/javatutors/arraysort.shtml了解更多详情
关于javascript - 如何对字母数字字符串值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11930906/