原生 javascript 数组排序
1、获取数组中最大的元素:var arr=[1,2,4,6,3,7,5];var max=0;for(var i=0;i<arr.length;i++){ if(max<=arr[i]){ max=arr[i]; }}
2、把最大值放到数组最后:定义一个中间变量来交换最大值和最后一个元素的值;定义一个变量来保存最大值所在的位置;var arr=[1,2,4,6,3,7,5];var len=arr.length;var max=0;var num=0;var mid=0;for(var i=0;i<len;i++){ if(max<=arr[i]){ max=arr[i]; num=i; }}mid=arr[len-1]; //将数组最后一个元素的值赋给中间变量;arr[num]=mid; //将中间变量赋给最大值的元素;arr[len-1]=max; //将最大值赋给数组最后一个元素;//[1,2,4,6,3,5,7];
3、使用第二重循环来执行第2步:var arr=[1,2,4,6,3,7,5];var len=arr.length;var max=0;var num=0;var mid=0;for(var i=len-1;i>0;i--){ max=arr[0]; for(var j=0;j<=i;j++){ if(max<=arr[j]){ max=arr[j];// 获取数组中最大值 num=j; } }mid=arr[li];arr[num]=mid;arr[i]=max;
4、把第3步封装在函数中:function order(arr){var len=arr.length;var max=0; // 定义一邗锒凳审个变量max,用于保存数组中的最大值。var num=0; // 定义一个变量num,用于保存数组中最大值的位置。var mid=0; // 定义一个变量mid,用于交换最大值和最后一个值。for(var i=len-1;i>0;i--){ max=arr[0]; for(var j=0;j<=i;j++){ if(max<=arr[j]){ max=arr[j];// 获取数组中最大值 num=j; } }mid=arr[i]; // 将数组最后一个元素的值赋给中间变量;arr[num]=mid; // 将中间变量赋给最大值的元素;arr[i]=max; // 将最大值赋给数组最后一个元素;}return arr;}