学习如何在js中指定按照数组中某一个值排序sort方法

定义和用法

sort() 方法对数组的项目进行排序。

排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。

默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。

这适用于字符串(“Apple” 出现在 “Banana” 之前)。但是,如果数字按字符串排序,则 “25” 大于 “100” ,因为 “2” 大于 “1”。

正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果。

您可以通过提供“比较函数”来解决此问题(请参阅下面的“参数值”)。

注释:sort() 方法会改变原始数组。

排序数组

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

按升序对数组中的数字进行排序

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){
   return a-b});

按降序对数组中的数字进行排序

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){
   return b-a});

获取数组中的最小值

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){
   return a-b});    // 按升序对数组中的数字进行排序
// 数组中的第一项 (points[0]) 现在是最低值

获取数组中的最大值

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){
   return b-a});    // 按降序对数组中的数字进行排序
// 数组中的第一项 (points[0]) 现在是最高值

获取数组中的最大值

const points = [40, 100, 1, 5, 25, 10];

// 按升序对数字进行排序:
points.sort(function(a, b){
   return a-b});

// points[points.length-1] = 100(最高值)

按字母顺序对数组进行排序,然后反转排序项的顺序(降序)

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

语法

可选。定义替代排序顺序的函数。该函数应返回负值、零值或正值,具体取决于参数,例如:

function(a, b){
   return a-b}

sort() 方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。
举例:

比较 40 和 100 时,sort() 方法调用比较函数(40,100)。

该函数计算 40-100,并返回 -60(负值)。

sort 函数会将 40 排序为小于 100 的值。

二维数组排序

<script type="application/javascript">
    const arr = [
        {
    name: 'Alice', value: 3 },
        {
    name: 'Bob', value: 1 },
        {
    name: 'Charlie', value: 2 }
    ];
    arr.sort((a, b) => a.value - b.value); // 根据 value 属性进行升序排序
    console.log(arr);
 
    // 根据 value 属性进行降序排序
   // arr.sort((a, b) => b.value - a.value); 
    console.log(arr);

</script>

在这里插入图片描述

相关推荐

  1. 如何vue使用sort对数组进行排序

    2024-02-21 12:30:04       21 阅读
  2. C++sort()排序函数使用方法

    2024-02-21 12:30:04       41 阅读
  3. 如何three.js添加一个button

    2024-02-21 12:30:04       33 阅读

最近更新

  1. 力扣 设计链表707

    2024-02-21 12:30:04       1 阅读
  2. Apache部署与虚拟主机

    2024-02-21 12:30:04       1 阅读
  3. Linux——网络编程——UDP

    2024-02-21 12:30:04       1 阅读
  4. 2024.7.9总结(找对象的逻辑)

    2024-02-21 12:30:04       1 阅读
  5. 使用ADB命令控制logcat日志本地存储功能

    2024-02-21 12:30:04       1 阅读
  6. matlab实现pid控制空调温度

    2024-02-21 12:30:04       1 阅读
  7. 深入浅出Transformer:大语言模型的核心技术

    2024-02-21 12:30:04       1 阅读

热门阅读

  1. 3DTile是不是没有坐标的选择?

    2024-02-21 12:30:04       30 阅读
  2. flask get请求

    2024-02-21 12:30:04       24 阅读
  3. 511. 游戏玩法分析 I

    2024-02-21 12:30:04       34 阅读
  4. 实现一个Windows环境一键启停Oracle的bat脚本

    2024-02-21 12:30:04       30 阅读
  5. WPS AI功能测试

    2024-02-21 12:30:04       39 阅读
  6. git 创建远程分支和本地分支,并将分支关联

    2024-02-21 12:30:04       29 阅读
  7. 正则表达式的一些高级用法

    2024-02-21 12:30:04       32 阅读