原生 javascript 数组排序

作者:活力源 | 创建时间: 2023-05-27
function order(arr){ var len=arr.length; var max=0; // 定义一个变量max,用于保存数组中的最大值。 var num=0; // 定义一个变量num,用于保存数组中最大值的位置。 var...
原生 javascript 数组排序

操作方法

获取数组中最大的元素: 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]; } }

把最大值放到数组最后: 定义一个中间变量来交换最大值和最后一个元素的值; 定义一个变量来保存最大值所在的位置; 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];

使用第二重循环来执行第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;

把第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; }

温馨提示

数字排序为升序排列!
这种方法会改变原始数组!
点击展开全文

更多推荐