数组排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序相关的知识,希望对你有一定的参考价值。
今天总结一下常用的四种数组排序方法:
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);
以上是关于数组排序的主要内容,如果未能解决你的问题,请参考以下文章