数组的方法-sort()

2023-11-07

数组的sort()方法主要用于对数组的元素进行排序。
其中,sort()方法有一个可选参数。
但是,此参数必须是函数。

数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字。

1、对数字数组进行由小到大的顺序进行排序。

var arr = [22,12,3,43,56,47,4];
 
arr.sort();
 
console.log(arr); // [12, 22, 3, 4, 43, 47, 56]
 
arr.sort(function (m, n) {
    if (m < n) return -1
    else if (m > n) return 1
    else return 0
});
 
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]

2、对字符串数组执行不区分大小写的字母表排序。

var arr = ['abc', 'Def', 'BoC', 'FED'];
  
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
  
console.log(arr.sort(function(s, t){
  
    var a = s.toLowerCase();
    var b = t.toLowerCase();
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
  
})); // ["abc", "BoC", "Def", "FED"]

注:toLowerCase() 方法用于把字符串转换为小写
返回值:一个新的字符串,在其中 stringObject 的所有大写字符全部被转换为了小写字符

3、对包含对象的数组排序,要求根据对象中的年龄进行由大到小的顺序排列

var arr = [{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '赵六', age: 4}];
 
var objectArraySort = function (keyName) {
 
    return function (objectN, objectM) {
 
        var valueN = objectN[keyName]
        var valueM = objectM[keyName]
 
        if (valueN < valueM) return 1
        else if (valueN > valueM) return -1
        else return 0
 
    }
 
}
 
arr.sort(objectArraySort('age'))
console.log(arr) // [{'name': '王五', age: 37},{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '赵六', age: 4}]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组的方法-sort() 的相关文章

随机推荐

  • 使用php语言开Excel的导入功能

    使用 PHP 语言开发 Excel 导入功能 你需要使用 PHPExcel 库 首先 你需要在你的 PHP 项目中安装 PHPExcel 库 你可以使用 Composer 来安装 如下所示 composer require phpoffic
  • C语言航空订票系统课程设计

    目录 1 设计目的 2总体设计和功能 3 菜单设计 4 各功能代码详解 闲话少扯 4 1 C语言文件的操作 4 2 读取航班信息 C语言知识回顾 4 3 打印航班信息 5 根据要求查找航班 航班号 起点站 终点站 6 订票功能 链表操作 前
  • STM32 HAL库:FreeRTOS系统 (带推荐使用除了Systick以外的时钟源问题及解决)

    1 简介 FreeRTOS是一个实时操作系统内核 作为一个轻量级的操作系统 功能包括 任务管理 时间管理 信号量 消息队列 内存管理 记录功能 软件定时器 协程等 可基本满足较小系统的需要 任务调度机制 优先级高的任务一旦就绪就能剥夺优先级
  • 在Android中使用Qt作为共享系统库

    Using Qt as shared system libraries in Android 在Android中使用Qt作为共享系统库 October 21 2022 by Tinja Paavosepp Comments 2022年10月
  • 如何在本地部署运行ChatGLM-6B

    在本篇技术博客中 将展示如何在本地获取运行代码和模型 并配置环境以及 Web GUI 最后通过 Gradio 的网页版 Demo 进行聊天 官方介绍 ChatGLM 6B 是一个开源的 支持中英双语的对话语言模型 基于 General La
  • selenium(练习)提取dou yu网站上的数据

    运行代码时 它会打开斗鱼网站并逐个打印每个房间的相关信息 打印出每个房间的标题 类型 所有者 观看人数和封面图片 import time from selenium import webdriver class Douyu object d
  • 基于HTTP协议的API接口测试

    一 接口组成 请求 返回 接口请求 请求的URL 请求头 User Agent Content Type 请求方法 GET POST PUT DELEte 请求参数 拼接在URL 后面 请求的body中 二 接口测试关注点 三 postma
  • 2006年100首好歌

    快三秒音乐网收集的2006年网络点击最TOP100首流行歌曲 地址 http www k111 com musiclist k111 13703 htm1 千里之外 周杰伦 http www k111 com musiclist 10 72
  • 手刃一个小爬虫

    from urllib request import urlopen url https www baidu com resp urlopen url with open mybaidu html mode w as f f write r
  • ***.forEach is not a function

    forEach is not a function 缘起 在这里插入图片描述 原生js获取的DOM集合是一个类数组对象 不能直接利用数组的方法 例如 forEach map等 需要进行转换为数组后 才能用数组的方法 1 推荐几种转换成数组的
  • leetcode刷题笔记:两数之和

    题目链接 牺牲空间换时间 使用一个数组记录下遍历的数和target之间的差值 每遍历一个数查找差值列表是否存在该数 class Solution public int twoSum int nums int target int i int
  • Arduino数字滤波设计方法(Python测试滤波示例)和异常值过滤算法

    数字滤波设计 数字信号处理的目的是在数字系统上执行 而不是在模拟电路上进行操作 通过这种方式 它基于软件执行相同的任务 而不需要电子材料或更换 这种方法确保设计简单且可升级 比如用RC元件制作的模拟滤波器 就需要改变材料来改变滤波器的截止频
  • Docker使用阿里云镜像加速器

    登录阿里云控制台 搜索容器镜像服务 界面上没有可以在搜索框中搜索 进入容器镜像服务管理控制台 如果需要开通就按照提示开通一下 如下图所示 在容器镜像服务控制台最底下有个镜像加速器 点进去之后有一个加速器地址 使用这个地址作为docker镜像
  • FreeRTOS ------- 任务(task)

    在学习RTOS的时候 个人觉得带着问题去学习 会了解到更多 1 什么是任务 在FreeRTOS中 每个执行线程都被称为 任务 每个任务都是在自己权限范围内的一个小程序 其具有程序入口每个任务都是在自己权限范围内的一个小程序 其具有程序入口通
  • 中断模式中中断和事件的区别_C中中断和继续之间的区别

    中断模式中中断和事件的区别 In this tutorial you will learn about difference between break and continue in C 在本教程中 您将了解C语言中break和conti
  • 前端websocket连接开发时devserver代理配置及nginx代理配置

    页面代码 socketUrl ws location host websocket ws uid 1 location host即前端服务部署地址 var socket new WebSocket socketUrl 打开事件 socket
  • HTML5+CSS3定位+导航二维码显示隐藏切换案例

  • Qt 样式表介绍

    概述 Qt Widget界面美化除了自己绘制外 有一个更简单高效的方式 就是Qt样式表 Qt样式表是一种强大的机制 通过QApplication setStyleSheet 设置整个应用程序的样式 通过QWidget setStyleShe
  • 分享几个图床网址,便于大家分享图片

    1 ImgURL 图床ImgURL ImgURL免费图床https https www imgurl org 又是一个比较老牌的免费图床服务 稳定性不错 无需注册 游客限制每日上传10张 单张图片不能超过 5M 支持 HTTPS 诞生于20
  • 数组的方法-sort()

    数组的sort 方法主要用于对数组的元素进行排序 其中 sort 方法有一个可选参数 但是 此参数必须是函数 数组在调用sort 方法时 如果没有传参将按字母顺序 字符编码顺序 对数组中的元素进行排序 如果想按照其他标准进行排序 就需要进行