5

我有一个具有这种结构的数组:

myArray = [ [<number>, [<string>] ], [<number>, [<string>] ], ... ];

我想根据整数对数组进行排序。不幸的是,当我在 myArray 上调用 .sort() 时,它会返回一个根据字符串排序的数组。我怎么能解决这个问题?

4

2 回答 2

6

试试这个

myArray.sort(function(a,b) {return a[0]-b[0]})
于 2013-04-29T13:39:34.490 回答
0

要执行数字排序,您必须在调用 sort 方法时将函数作为参数传递。

var myarray=[[21,"aadfa"], [24,"ca"],[52,"aa"], [15,"ba"]]
myarray.sort(function(a,b){return a[0] - b[0]})

您可以在http://www.javascriptkit.com/javatutors/arraysort.shtml上找到有关它的更多信息

该函数指定数字应按升序还是降序排序。

这里有更多示例http://www.w3schools.com/jsref/jsref_sort.asp

于 2013-04-29T13:37:02.473 回答