【小白鲨笔记】js面试题(十二)

18 篇文章 0 订阅
本文介绍了JavaScript中的数组排序方法`sort()`,包括其基本用法和自定义比较函数的实现。示例展示了对数字和对象数组的排序,以及V8引擎下的排序算法,如插入排序和快速排序。同时提到了不同浏览器可能存在的实现差异。
摘要由CSDN通过智能技术生成

十二、排序原理(sort)

  • sort作用:对数组元素进行排序,并返回该数组(默认排序顺序Unicode码点)

  • 语法:array.sort([fn])

    sort中使用的fn函数返回结果:

    • 如果小于 0,那么 a 会被排列到 b 之前

    • 如果等于 0,a 和 b 的相对位置不变

    • 如果大于 0,b 会被排列到 a 之前

    var arr = [1,2,4,5,33,'12','34','45',66]
    console.log(arr.sort()) //默认:小到大(升序)
    console.log(arr.sort(function(a,b) { return b - a })) //降序
    var arr1 = [
        {name: 'zs', age: 111},
        {name: 'ls', age: 2},
        {name: 'ww', age: 33},
    ]
    function fn(prop){
        return function(a,b){ return a[age] - b[age] } //升序
    }
    console.log(arr1.sort(fn('age')))
    
  • V8引擎中的sort函数给出了两种排序:

    不同的浏览器可能有不同的算法

    • 数量小于10的数组:插入排序

    • 数量大于10 的数组:快速排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值