原生js数组排序(封装方法)

//两值互换

function Sort(arr, index){ //参数arr代表数组,index代表数组元素下标

  arr[index] += arr[index + 1];  //a+=b;
  arr[index + 1] = arr[index] - arr[index + 1]; // b = a - b;
  arr[index] -= arr[index + 1]; //a -= b;
}
function arrays(arr, asc){ //参数arr代表数组,sac为设置升降序
  for(var i = 1; i < arr.length; i++){
    for(var k = 0; k < arr.length - 1; k++){
      if(asc){ //如果asc为true则通过,否则则不通过
        if(arr[k] > arr[k + 1]){
          Sort(arr, k); //在这里调用两值互换函数
        }
      }else{
        if(arr[k] < arr[k + 1]){
          Sort(arr, k); //在这里调用两值互换函数
        }
      }
    }
  }
  return arr;
}

var array = arrays([2, 6, 3, 9, 28, 15, 26, 4, 25], false);//true为升序,false为降序
console.log('array==>>', array);

转载于:https://www.cnblogs.com/hermit-gyqy/p/11393902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值