首页 > 其他分享 >sort()背后的原理

sort()背后的原理

时间:2022-09-26 16:15:28浏览次数:47  
标签:sort arr ab return 背后 返回值 原理 排序

sort()方法是根据字符串Unicode码点来排序的,返回值为排序后的数组

注意:sort()方法是按位排序的,对数字排序时不稳定,容易出现 1,111,21;所以要传入一个回调函数

/*回调函数背后的原理:
当返回值大于0时,a放在b的后面;ab换
当返回值小于0时,a放在b的前面;ab不换
当返回值等于0时,ab位置不改变;ab不换
**/

//第一种详细写法(升序)
var arr = [1, 5, 4, 2, 3, 0];
arr.sort((a, b) => {
  if (a > b) return 1;
  else if (a < b) return -1;
  else return 0;
});

//第二种
var arr = [1, 5, 4, 2, 3, 0]
arr.sort((a, b) => {return a - b}) // 升序排序 
arr.sort((a, b) => {return b - a}) // 降序排序
//也可以简写成
arr.sort((a, b) => a - b;
arr.sort((a, b) => b - a;

标签:sort,arr,ab,return,背后,返回值,原理,排序
From: https://www.cnblogs.com/jichuan/p/16731245.html

相关文章

  • ARP协议 路由器原理
    ARP协议路由器原理  1广播与广播域广播:将广播地址作为目的地址的数据帧广播域:网络中能够接收到同一个广播所有节点的集合(在这里广播域越小越好)交换机控制不了广......
  • Mysql原理学习
    存储引擎数据库引擎是数据库用于存储、处理和保护数据的核心服务,不同的数据库引擎有其各自的特点,如存储机制、索引技巧、主键的处理、锁的粒度等特点便随着引擎的不同而变......
  • PADS应用笔记:Logic画原理图时设置图业大小
    问题画原理图时默认的图业太小,想换大点怎么办方法在工具->选项界面进入设置界面,在这个界面下进行设置......
  • JS promise 原理
    Promise对象有三种状态:pending、fullfilled 和 rejected,分别代表了promise对象处于等待、执行成功和执行失败状态。创建promise对象后处于pending状态,pending状态......
  • SOLID 设计原理揭秘
    SOLID设计原理揭秘本文最初发表于https://www.learncsdesign.com坚硬的是五项设计原则的首字母缩写词,旨在使软件设计更易于理解、灵活和可维护。它们是由RobertC......
  • HashMap底层原理及jdk1.8源码解读
    一、前言写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!!HashMap在我们日常开发中可谓经常遇到,HashMap源码和底层原理在现在面试中是......
  • 并发原理—如何保证多条指令的原子性(二)
    一、提出问题:一条CPU原语指令如何保证多条指令的原子性从上篇文章我们知道当多个CPU访问(此处访问的含义不仅有读取内存数据的意思,同时也有往内存写入数据的意思)同一个数据......
  • [Oracle] LeetCode 1636 Sort Array by Increasing Frequency 双map
    Givenanarrayofintegersnums,sortthearrayinincreasingorderbasedonthefrequencyofthevalues.Ifmultiplevalueshavethesamefrequency,sortthem......
  • 拉格朗日插值原理及实现(Python)
    拉格朗日插值原理及实现(Python)目录拉格朗日插值原理及实现(Python)一.前言二.3种形式的Lagrange插值函数推导1.原始形态的Lagrange插值2.第一形式Lagrange插值3.第二形......
  • ExecutorService、Callable、Future实现有返回结果的多线程原理解析
    原创/朱季谦在并发多线程场景下,存在需要获取各线程的异步执行结果,这时,就可以通过ExecutorService线程池结合Callable、Future来实现。我们先来写一个简单的例子——publ......