sort() 方法用于对数组的元素进行排序。数组在原数组上进行排序,不生成新数组。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。可使用负值从数组的尾部选取元素。
例子1:
//10个对象(age:10~99)放入数组 用sort()进行排序
var arr= []for(var i = 0;i<10;i++){
var a = parseInt(10+Math.random()*89)
arr[i]={age:a} //填充10个对象
}
arr.sort(test) //传入2个数值到函数中进行比较,接收返回来排序好的值
console.log(arr)
function test(a,b){
if(a.age>b.age){
return 1
}else{
return -1
}
}
例子2:
var arr = []
for(var i = 0;i<10;i++){
arr.push([numRandom(1,5),numRandom(6,10)])
}
console.log(arr)
arr.sort(numComparison)
function numRandom(max,min){
return parseInt(Math.random()*(max-min)+min)
}
function numComparison(a,b){
if(a[0]>b[0]){
return 1
}
if(a[0]<b[0]){
return -1
}
if(a[0]==b[0]){
if(a[1]>b[1]){
return 1
}else{
return -1
}
}
}