原生 javascript 数组排序

2025-10-10 06:50:29

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;

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:124
  • 阅读量:150
  • 阅读量:101
  • 阅读量:147
  • 阅读量:24
  • 猜你喜欢