首页 > 编程语言 > 详细

数组的几种排序方法!!!

时间:2019-11-17 20:09:50      阅读:67      评论:0      收藏:0      [点我收藏+]

一 丶sort方法排序

 let xx = [1, 7, 8, 4, 3]
      xx.sort(function (a, b) {
        // 降序
        return b - a
     // 升序
     // return a- b
}) console.log(xx)

输出如下图

技术分享图片

二丶根据数组对象的某个属性排序

 1 let xx =[
 2     {name:"张三",age:18},
 3     {name:"李四",age:19},
 4     {name:"王五",age:20},
 5 ]
 6 let handle = (property)=>{
 7      return function(a,b) {
 8        let x1 = a[property]
 9        let x2 = b[property]
10        //降序
11       return x2 - x1  
12    }
13 }   
14 
15 xx.sort(handle(‘age‘))
16 console.log(xx)

输出如下图

技术分享图片

三丶冒泡排序

      // 声明数组xx
      let xx = [7, 5, 6, 1, 2, 4, 3, 9, 8]
      // 方法paiXu传入xx作为参数
      function paiXu (xx) {
        // 声明 i和j以及temVal
        let i = xx.length
        let j
        let temVal
        // 当数组xx的长度大于零时
        while (i > 0) {
          for (j = 0; j < i - 1; j++) {
            if (xx[j] > xx[j + 1]) {
              // 把xx[j]赋值temVal
              temVal = xx[j]
              // 把xx[j+1]赋值xx[j]
              xx[j] = xx[j + 1]
              // 再把temVal赋值xx[j+1]
              xx[j + 1] = temVal
              // 这样就实现了xx[j]和xx[j+1]的值的对调
            }
          }
          // i<=0时退出循环
          i--
        }
        // 函数返回排序后的数组xx
        return xx
      }
      // 声明接收排序后的数组
      let newxx = paiXu(xx)
      console.log(newxx)

输出结果如下图 如果需要降序的话只要把xx[j]>xx[j+1]中的大于号改为小于号即可

技术分享图片

 

数组的几种排序方法!!!

原文:https://www.cnblogs.com/LiuRunMin/p/11877480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!