目录

  • 1、sort函数的基本用法
  • 2、sort函数接受一个函数作为参数
  • 3、数组中包含对象进行排序

1、sort函数的基本用法

数组的sort方法,默认按照字母顺序升序排序,更准确地说是按照ASCII码顺序排序;

let arr1 = ['b', 'g', 'a', 'd', 'c'];
console.log(arr1.sort()); // ["a", "b", "c", "d", "g"]let arr2 = [5, 1, 8, 3];
console.log(arr2.sort()); // [1, 3, 5, 8]

2、sort函数接受一个函数作为参数

sort()方法中还可接受参数,参数为一个函数,用来指定按某种顺序进行排列的函数。

该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。凡是返回1或者大于0的正数的时候这两个值就要交换位置

// 升序排列
let arr1 = ['b', 'g', 'a', 'd', 'c'];
arr1.sort(function(a, b) {if(a > b) {return 1; // 交换顺序} else {return -1; // 顺序不变}
}) // ["a", "b", "c", "d", "g"]// 降序排列
let arr2 = [5, 1, 8, 3];
arr2.sort(function(a, b) {if(a < b) {return 1; // 交换顺序} else {return -1; // 顺序不变}
}) // [8, 5, 3, 1]
// 升序排列
if(a>b) {return 1;
} else {return -1;
} // 简化为:
return a-b;// 降序排列简化为
return b - a;// 所以上述降序排列可写为:
let arr2 = [5, 1, 8, 3];
arr2.sort(function(a, b) {return b - a;
}) // [8, 5, 3, 1]

注意:return a-b;这种写法只适用于数字,因为字母无法进行加减运算

3、数组中包含对象进行排序

var items = [{ name: 'Edward', value: 21 },{ name: 'Sharpe', value: 37 },{ name: 'And', value: 45 },{ name: 'The', value: -12 },{ name: 'Magnetic', value: 0 },{ name: 'Zeros', value: 37 }
];// sort by value
items.sort(function (a, b) {return (a.value - b.value)
});// sort by name
items.sort(function(a, b) {var nameA = a.name.toUpperCase(); // ignore upper and lowercasevar nameB = b.name.toUpperCase(); // ignore upper and lowercaseif (nameA < nameB) {return -1;}if (nameA > nameB) {return 1;}// names must be equalreturn 0;
});

数组的sort()排序相关推荐

  1. js数组的sort排序(获取中位数)

    默认的sort排序,不指定参数,将会发现排序结果不是我们想要的真正排序,如下: A=[1,2,33,22,14,5,132] A.sort() //[1, 132, 14, 2, 22, 33, 5] ...

  2. Array数组对象sort排序方法

    数组sort排序方法 Array数组对象中的sort方法是根据数组中数组元素的字符编码进行排序的,所以对数字的排序,会跟想要的升序结果不一样 通过设置sort()方法的参数可以按照自定义的排序方式对数 ...

  3. 数组方法 sort() 排序错乱问题

    一.问题 在JavaScript中,数组使用sort()后发现有排序不正确的情况,如下: let arr = [1, 2, 3, 10, 20, 30] arr.sort() console.log( ...

  4. js数组的sort排序详解

    http://www.cnblogs.com/longze/archive/2012/11/27/2791230.html <body> <div> sort()对数组排序,不 ...

  5. js数组的sort排序的原理和应用

    1.js sort()方法的应用: 首先:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串( ...

  6. 对vector<int> 的数组使用sort排序出错

    刷题时,对于多个vector数组按照第二个元素的大小进行排序,其实很简单. 力扣1710. Maximum Units on a Truck 但是一开始代码写的是 class Solution {pu ...

  7. js 数组对象sort()排序(升序降序)

    升序 let testArr = [{ name: 'tom', age: '12' },{ name: 'marry', age: '17' },{ name: 'xxx', age: '14' } ...

  8. php 多维数组 array sort 排序 :array_multisort

    1.参考链接: php简单实现多维数组排序的方法 参考二: 这个链接很好,可以直接看这个:PHP array_multisort-对多个数组或多维数组进行排序 2.案例一: 1 //13: 最佳: 2 ...

  9. js数组sort排序原理

    大家都知道javascript的数组有sort排序方法,可以实现升序与降序,现在我们来学习一下sort方法排序的原理冒泡排序. 冒泡排序:拿数组的当前项和后一项比较,如果当前项大于后一项,两者交换位置 ...

最新文章

  1. 类中成员函数声明后面的const的含义
  2. Verilog UDP(User Defined Primitives)
  3. 剩余大学时光里要做的事
  4. Python百度语音合成
  5. 模式识别谱聚类matlab,基因表达谱聚类分析
  6. idea工具的内存优化
  7. python画布组件_Python Tkinter 画布(Canvas)
  8. 从ccps项目中学习bottle,sqlalchemy,jinja2
  9. python代码实现自动点击屏幕
  10. Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记
  11. 2022年度调味品十大热门品牌排行
  12. 不知道PDF转PPT转换器哪个好用?分享三个简单好用的办公用具
  13. mysql查询名字中第2个字为丽,数据库技术课程复习5---MySQL语言(2)(单表查询)
  14. vba中excel和word复制粘贴
  15. 解读!《国家职业教育改革实施方案》要点来啦!
  16. 史上最易懂——一文详解线性回归算法的纯Python实现
  17. python123程序设计题说句心里话_大学生毕业实习报告(22200字).doc
  18. QQ6.6.8、红包玩起来
  19. MacOS通过移动硬盘来安装Win TO GO
  20. 安卓手机主题软件_最强安卓手机垃圾清理软件!

热门文章

  1. 哈工大C语言大作业-学生成绩管理系统
  2. h3c交换机配置远程管理_H3C交换机配置远程管理配置
  3. 在VMware安装上Ubuntu
  4. web前端开发新技术,css全称怎么读
  5. 怎么查看PDF的纸张大小以及如何调整
  6. 数据库建模 — ER建模
  7. 阿里 mysql建表规范_阿里的Mysql规范 MySQL库表设计规范
  8. 云队友丨想赚大钱的人,没有感情
  9. 烟雨黑帽SEO程序演示:AI智能模板在线制作制作神器-单域名版+多域名版-一键批量制作黑帽程序所使用的单页模板
  10. 零时科技 | Feminist Metaverse遭受攻击,损失 11 亿枚 FM