sort()排序以及多个属性数组对象排序(按条件排序)

简介: sort()排序以及多个属性数组对象排序(按条件排序)

原生排序

let arr = [5,2,1,4,9,8]
for(let i = 0 ; i < arr.length ; i ++) {
             for(let j = 0 ; j < arr.length -1 ; j ++) {
                 if(arr[j] > arr[j+1]){
                     let num = arr[j]
                     arr[j] = arr[j+1]
                     arr[j+1] = num
                     comeout.innerText = arr
                 }
             }
       // 结果 1,2,4,5,8,9

ES6排序

sort() 方法是最强大的数组方法之一。

默认排序顺序为按字母升序。

使用数字排序,你必须通过一个函数作为参数来调用。

比较函数两个参数a和b,a-b 升序,返回b-a 降序

注意: 这种方法会改变原始数组!

// 升序
 arr.sort(function(a,b){
                return a - b
            })
         console.log(arr)
// 结果 1,2,4,5,8,9
// 降序
arr.sort(function(a,b){
                return b - a
            })
          console.log(arr)
// 结果 9,8,5,4,2,1

根据数组中的某个属性排序

let arr_choice = [{id:1},{id:3},{id:2},{id:8},{id:6},{id:4}]
// 升序
arr_choice.sort(function(a,b){
                return b.id - a.id
            })
          console.log(arr_choice)
// 结果:[{"id":1},{"id":2},{"id":3},{"id":4},{"id":6},{"id":8}]
// 降序
arr_choice.sort(function(a,b){
                return b.id - a.id
            })
         console.log(arr_choice)
// 结果:[{"id":8},{"id":6},{"id":4},{"id":3},{"id":2},{"id":1}]

根据多个属性排序

let arr_multi = [{id:1,age:10},{id:3,age:5},{id:2,age:6},{id:8,age:8},{id:6,age:5},{id:4,age:5}]
// 升序
arr_multi.sort(function(a,b){
                // 默认根据年龄排序,年龄相同则按照id排序
                if(a.age==b.age){
                    return a.id - b.id
                }
                return a.age - b.age
            })
      console.log(arr_multi)
// 结果:[{"id":3,"age":5},{"id":4,"age":5},{"id":6,"age":5},{"id":2,"age":6},{"id":8,"age":8},{"id":1,"age":10}]
// 降序
 arr_multi.sort(function(a,b){
                // 默认根据年龄排序,相同则按照id排序
                if(a.age==b.age){
                    return b.id - a.id 
                }
                return b.age - a.age 
            })
            console.log(arr_multi)
// 结果:[{"id":1,"age":10},{"id":8,"age":8},{"id":2,"age":6},{"id":6,"age":5},{"id":4,"age":5},{"id":3,"age":5}]
目录
相关文章
|
3月前
按字典顺序排序
按字典顺序排序。
43 2
|
3月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
62 0
|
7月前
|
JavaScript
js 排序—— sort() 对普通数组、对象数组(单属性/多属性)排序
js 排序—— sort() 对普通数组、对象数组(单属性/多属性)排序
76 0
|
9月前
|
机器学习/深度学习 存储 搜索推荐
对字典进行排序与为何需要对字典排序
对字典进行排序与为何需要对字典排序
61 0
|
9月前
|
小程序
排序sort()排序用法
排序sort()排序用法
sort() 函数按照字符串顺序对值进行排序。
sort() 函数按照字符串顺序对值进行排序。
210 0
关于对象遍历的时候的一些排序问题
关于对象遍历的时候的一些排序问题
121 0
关于对象遍历的时候的一些排序问题
|
Web App开发 算法 搜索推荐
数组的 sort() 方法详解
纸上得来终觉浅,绝知此事要躬行!
243 0
数组的 sort() 方法详解
|
Python
【怎么给一个字典进行按值或key来排序?】
字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。
121 0
|
vr&ar
【LeetCode1122】数组的相对排序(哈希or自定义sort)
没错,,简单题,就是说将arr1中有arr2的元素,则按照arr2的元素先排列(特别注意:这里的arr2的元素都是不同的,但是arr1中是可以元素重复的)
188 0
【LeetCode1122】数组的相对排序(哈希or自定义sort)

热门文章

最新文章