如何在 JavaScript 中按属性值对对象数组进行排序 您所在的位置:网站首页 python怎么给数组排序 如何在 JavaScript 中按属性值对对象数组进行排序

如何在 JavaScript 中按属性值对对象数组进行排序

2023-03-09 17:23| 来源: 网络整理| 查看: 265

如何在 JavaScript 中按属性值对对象数组进行排序

主题:JavaScript / jQuery

答案:使用sort()方法

您可以将 sort() 方法与自定义比较函数结合使用,以按属性值对 JavaScript 对象数组进行排序。 默认排序顺序是升序。

如果两个值相等,自定义比较函数必须返回一个等于零的整数,如果第一个值小于第二个值,则返回一个小于零的整数,如果第一个值大于第二个值,则返回一个大于零的整数。

以下示例将向您展示如何按字符串属性值对对象数组进行排序。

示例 /* Defining comparison function */ function compareNames(a, b) { /* 将名称字符串转换为小写 比较忽略大写和小写 */ var nameA = a.name.toLowerCase(); var nameB = b.name.toLowerCase(); if(nameA < nameB) { return -1; } if(nameA > nameB) { return 1; } /* 名称必须相同 */ return 0; } /* 样本对象数组 */ var objArr = [ { name: "Harry", age: 14 }, { name: "Peter", age: 20 }, { name: "Alice", age: 18 } ]; /* 执行排序 */ objArr.sort(compareNames); console.log(objArr);

定义比较函数来比较数字更加容易。 要比较数字而不是字符串,比较函数可以从 a 中减去 b。 这是一个示例,显示如何按数字属性值升序对对象数组进行排序。

示例 /* 定义比较函数 */ function compareAges(a, b) { return a.age - b.age; } /* 样本对象数组 */ var objArr = [ { name: "Harry", age: 14 }, { name: "Peter", age: 20 }, { name: "Alice", age: 18 } ]; /* 执行排序 */ objArr.sort(compareAges); console.log(objArr);

请参阅 JavaScript 对象 上的教程,了解有关创建和操作对象的更多信息。

FAQ 相关问题解答

以下是与此主题相关的更多常见问题解答:

如何在 JavaScript 中检查对象是否为数组 如何检查数组是否包含 JavaScript 中的对象 如何在 JavaScript 中测试空对象


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有