JavaScript键排序数组?

时间:2013-11-22 11:17:06

标签: javascript arrays

我有一个像这样的键的数组:

0kefsdfsdf
1101fsdf
55fdsfds

现在我想对该数组进行排序,以便键以最小的数字开头。之后键应该是这样的:

0kefsdfsdf
55fdsf
1101fsdfds

我尝试了这段代码,但它没有对键进行排序:

myArray.sort(function(a, b) {
    return a < b;
});

如何根据键对数组进行排序,以便在我之后迭代数组时,它以具有最小数字的键开始?

1 个答案:

答案 0 :(得分:6)

您可以使用

var sorted = myArray.sort(function(a,b){ return parseInt(a,10)-parseInt(b,10) });

这取决于parseInt的奇怪行为,在被要求解析"55fdsfds"时并不担心:

  

如果parseInt遇到的字符不是数字   指定的基数,它忽略它和所有后续字符和   返回解析到该点的整数值。 parseInt截断   数字到整数值。允许前导和尾随空格。