今天總結一下常用的四種數組排序方法:
1.使用sort()對數組排序:
var arr=[11,45,2,32,89,0];
arr.sort(function(a,b){
return a-b;
})
document.write(arr);
sort方法中的參數是一個函數,function的參數(a,b),如果函數的返回值是return a-b;則表示升序。如果函數的返回值是return b-a,則表示數組按降序排列。
2. reverse()逆序
var arr=[11,45,2,32,89,0];
arr.reverse(arr);
document.write(arr);
3.冒泡排序:
概念:數組中相鄰元素兩兩比較,如果第一個元素大於第二元素,交換第一個元素和第二個元素的位置,第一輪比較結束,能確定一個最大值,然後進行第二輪...
var arr=[11,45,2,32,89,0];
for(var i=1;i<arr.length;i++){ //第一輪循環表示循環的輪數
for(var j=0;j<arr.length-i;j++){ //這輪的for循環指的是每次循環的次數
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
document.write(arr);
4.選擇排序
概念:
1.先假定數組中的第一個元素爲最小值,對應的索引爲minIndex,讓該值與剩餘元素比較,如果有比該值小的,改變minIndex的指向,讓其指向較小的值的索引,讓minIndex對應的值和剩下的值進行比較
2.第一輪比較完成之後,我們能確定最小值對應的minIndex,然後讓其與第一個元素進行交換
3.假定數組中的第二個元素爲最小值,以此類推...
var arr=[11,45,2,32,89,0];
for(var i=0;i<arr.length-1;i++){
var minIndex=i;
for(var j=i+1;j<arr.length;j++){
if(arr[minIndex]>arr[j]){
minIndex=j;
}
}
var temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
document.write(arr);