我有一个像这样的键的数组:
0kefsdfsdf
1101fsdf
55fdsfds
现在我想对该数组进行排序,以便键以最小的数字开头。之后键应该是这样的:
0kefsdfsdf
55fdsf
1101fsdfds
我尝试了这段代码,但它没有对键进行排序:
myArray.sort(function(a, b) {
return a < b;
});
如何根据键对数组进行排序,以便在我之后迭代数组时,它以具有最小数字的键开始?
答案 0 :(得分:6)
您可以使用
var sorted = myArray.sort(function(a,b){ return parseInt(a,10)-parseInt(b,10) });
这取决于parseInt
的奇怪行为,在被要求解析"55fdsfds"
时并不担心:
如果parseInt遇到的字符不是数字 指定的基数,它忽略它和所有后续字符和 返回解析到该点的整数值。 parseInt截断 数字到整数值。允许前导和尾随空格。