js中.sort()函数的用法

这篇具有很好参考价值的文章主要介绍了js中.sort()函数的用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这是.sort()函数最常见的用法

//没有函数参数,按字符编码格式排序
var arr = [3,2,3,34,12,23,234,84,9];
arr.sort();

// 结果: 12,2,23,234,3,3,34,84,9
// 需要升序或者降序则需要传入一个函数参数
var arr = [3,2,3,34,12,23,234,84,9];
arr.sort(function (a, b) {
    return a - b;
});
// 结果:2,3,3,9,12,23,34,84,234

// 降序
var arr = [3,2,3,34,12,23,234,84,9];
arr.sort(function (a, b) {
    return b - a;
});

但或许你还对其为什么要这么操作存有一些疑惑
我们要先搞懂往.sort()里传入的函数的参数a,b是什么
sort()要排序就要遍历数组,以上面的数组为例子
其中遍历第一步的a=3、b=2,
第二步时候a=2、b=3,
第三步的时候a=3,b=34
。。。。。。。
就像你写的冒泡排序一样,每一个元素都会被对比到

如何排序呢?这是w3c对其的解释:

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于b,则返回一个大于 0 的值。

也就是说,在传入的函数里如果你想a排在b前,就return一个小于0的数
如果你想a排在b后,就return一个大于0的数
这样,就能完成对数组元素的排序了。

清楚了原理,那么我们就可以想到一些高级的骚操作了

关于对象数组的排序:文章来源地址https://www.toymoban.com/news/detail-432201.html

// 按age升序排列
var users =[
        { "name": "has",   "age": 17, "height": 165 },
        { "name": "saf",   "age": 20, "height": 172 },
        { "name": "gngh",  "age": 45, "height": 182 },
        { "name": "yjerw", "age": 42, "height": 156 },
        { "name": "cvb",   "age": 22, "height": 176 },
        { "name": "wetty", "age": 32, "height": 178 },
        { "name": "aDNY",  "age": 34, "height": 175 }
     ]
users.sort(function (a, b) {
    return a.age - b.age;
});
// 结果(升序):
/*
name:has age:17 height:165
name:saf age:20 height:172
name:cvb age:22 height:176
name:wetty age:32 height:178
name:aDNY age:34 height:175
name:yjerw age:42 height:156
name:gngh age:45 height:182
*/
// 按name排列
var users =[
        { "name": "has",   "age": 17, "height": 165 },
        { "name": "saf",   "age": 20, "height": 172 },
        { "name": "gngh",  "age": 45, "height": 182 },
        { "name": "yjerw", "age": 42, "height": 156 },
        { "name": "cvb",   "age": 22, "height": 176 },
        { "name": "wetty", "age": 32, "height": 178 },
        { "name": "aDNY",  "age": 34, "height": 175 }
     ]
var users.sort(function (a, b) {
    return a.name - b.name;
});
// 结果:
/*
name:aDNY age:34 height:175
name:cvb age:22 height:176
name:gngh age:45 height:182
name:has age:17 height:165
name:saf age:20 height:172
name:wetty age:32 height:178
name:yjerw age:42 height:156
*/
// 按布尔值排列
var users=[
        { "name": "has",   "age": 17, "height": 165, "state": true},
        { "name": "saf",   "age": 20, "height": 172, "state": false},
        { "name": "gngh",  "age": 45, "height": 182, "state": false },
        { "name": "yjerw", "age": 42, "height": 156, "state": true },
        { "name": "cvb",   "age": 22, "height": 176, "state": false },
        { "name": "wetty", "age": 32, "height": 178, "state": true },
        { "name": "aDNY",  "age": 34, "height": 175, "state": false }
     ]
users.sort(function (a, b) {
    return b.state- a.state;
});
//众所周知,true - false = 1 
//结果
/*
[
  { name: 'has', age: 17, height: 165, state: true },
  { name: 'yjerw', age: 42, height: 156, state: true },
  { name: 'wetty', age: 32, height: 178, state: true },
  { name: 'saf', age: 20, height: 172, state: false },
  { name: 'gngh', age: 45, height: 182, state: false },
  { name: 'cvb', age: 22, height: 176, state: false },
  { name: 'aDNY', age: 34, height: 175, state: false }
]
*/

到了这里,关于js中.sort()函数的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 常见的四种排名函数的用法(sql)

    四个排名函数: 1.row_number 2.rank 3.dense_rank 4.ntile 1. ROW_NUMBER(排名场景推荐) 1.1 介绍 在 SQL 中,ROW_NUMBER() 是一个窗口函数,它为结果集中的每一行分配一个唯一的序号。该函数的语法如下: 其中,ORDER BY 子句指定了 ROW_NUMBER() 函数排列行的顺序。如果省略 ORDER BY,则序号将按

    2024年02月01日
    浏览(27)
  • JS数组函数 reduce() 的用法—包含基础、进阶、高阶用法

    目录 一、语法剖析 二、实例讲解 1. 求数组项之和 2. 求数组项最大值 3. 数组去重 三、其他相关方法 1. reduceRight() 2. forEach()、map()、every()、some()和filter() 四、重点总结 先看w3c语法 ✔ 常见用法 数组求和 数组最大值 ✔ 进阶用法 数组对象中的用法  求字符串中字母出现的次数

    2024年01月20日
    浏览(41)
  • js中reduce()函数的用法

    😁 作者简介:一名大三的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript小贴士 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇气 ​🔥​前言: 这是我自己有关array.prototype.reduce()函数的用法的总结,如有不足

    2024年02月07日
    浏览(33)
  • Python中的sort()与sorted()用法

    Python中的 sort() 函数主要用于对列表(list)中的元素进行排序。它有两种形式:一种是列表的方法(即直接对列表对象调用),另一种则是内置的 sorted() 函数,它返回一个新的已排序列表,而不改变原始列表。 列表的 sort() 方法 使用列表的 sort() 方法时,它会直接修改原列表

    2024年04月10日
    浏览(27)
  • Qt中常见的JS类和函数(一)

    相关系列文章 Qt中字符串转换为JS的函数执行 目录 1.引言 2.全局对象(The Global Object) 2.1.值属性(Value Properties) 2.1.1.NaN 2.1.2.Infinity 2.1.3.undefined  2.2.函数属性(Function Properties) 2.2.1.eval(x) 2.2.2.parseInt(string, radix) 2.2.3.parseFloat(string) 2.2.4.isNaN(number) 2.2.5.isFinite(number) 2.2.6.encodeURI(uri) 2.2.

    2024年02月22日
    浏览(24)
  • arrays.sort用法详解

    大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在编程的世界中,数组(arrays)是一种常见且重要的数据结构,而在Java中,对数组进行排序是经常遇到的需求之一。今天,我们将深入探讨Java中的 Arrays

    2024年02月04日
    浏览(33)
  • JS语言里常见的随机函数示例,实验结果分布规律分析

    在JavaScript语言里有个 Math.random() 随机函数,用于生成指定范围内的随机数。 Math.random()函数 根据官方的定义: Math.random() 函数返回一个浮点数, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到

    2024年02月14日
    浏览(30)
  • C#中sort排序相关用法介绍

     C#中,List.Sort() 不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复

    2024年02月15日
    浏览(41)
  • Java基础:Collections.sort的两种用法详解

    Collections是⼀个⼯具类,sort是其中的静态⽅法,是⽤来对 List 类型进⾏排序的,它有两种参数形式:

    2024年02月10日
    浏览(36)
  • python的sort函数与sorted函数排序

    1. sort 函数 sort 函数为 python 内置的列表排序高阶函数 , 所谓高阶函数,也就是参数为函数或返回值为函数。 先看个简单的例子: 可以发现排序后,改变了原列表的顺序。而且 sort() 函数没有返回值,或者说返回值是 None 。再看 sort 函数的语法: sort 函数的语法是: list.sort

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包