【发布时间】:2013-03-23 19:31:51
【问题描述】:
您好,我有一个文本框,其值类似于
<input type="hidden" value="2,1,4,5,3,6,7,8,9,10,11,12" class="sortvalues" id="1_1_parent">
现在我想要获取这个文本框的值,想要将值拆分为数组,然后作为最后的结果,我需要一个排序数组。
我做了什么。
allsortedValues = $(".sortvalues").val();
allsortedValues = allsortedValues.split(",");
allsortedValues = allsortedValues.sort();
当我检查数组时
console.log(allsortedValues);
显示
1,10,11,12,2,3,4,5,6,7,8,9
将数组排序为1, 10, 11, 12, 2.....
我什至用过
allsortedValues = allsortedValues.split(",").map(function(x){return parseInt(x)});
在应用排序之前,在其他情况下,我什至使用过 parseInt 之类的
for(var i = 0; i < allsortedValues.length; i++) {
allsortedValues[i] = parseInt(allsortedValues[i]);
}
在应用排序之前,但在所有情况下结果都是相同的。有人会指导我做错了什么吗?
【问题讨论】:
-
您的排序工作正常,javascript 将您的输入视为字符串而不是数字,因此出现意外行为。请参阅@Pointy 的答案以获得正确的解决方案。
标签: javascript sorting