数组的几种排序方法!!!
一 丶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]中的大于号改为小于号即可
版权声明:本文为LiuRunMin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。