首页 > web前端 > js教程 > 如何在 JavaScript 中按属性值对对象数组进行排序?

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

Susan Sarandon
发布: 2024-12-20 13:27:14
原创
795 人浏览过

How do I Sort an Array of Objects by Property Value in JavaScript?

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

JavaScript 提供了一种优雅的解决方案来按特定属性对对象数组进行排序。此功能对于组织列表、获取不同元素和执行数据分析至关重要。

问题陈述:

您已通过 AJAX 检索了一个对象数组,并希望根据“价格”属性对它们进行排序。排序应允许升序和降序。

解决方案:

升序

对对象进行排序价格升序,使用以下 JavaScript函数:

homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
登录后复制

或者,对于 ES6 及更高版本:

homes.sort((a, b) => a.price - b.price);
登录后复制

降序

按价格降序对对象进行排序,使用:

homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
登录后复制

或ES6:

homes.sort((a, b) => b.price - a.price);
登录后复制

记得在比较之前将字符串价格解析为数字 (parseFloat)。

示例:

对于给定的数组的对象,按价格升序排序会产生:

[
  {
    "h_id": "3",
    "city": "Dallas",
    "state": "TX",
    "zip": "75201",
    "price": "162500"
  },
  {
    "h_id": "4",
    "city": "Bevery Hills",
    "state": "CA",
    "zip": "90210",
    "price": "319250"
  },
  {
    "h_id": "5",
    "city": "New York",
    "state": "NY",
    "zip": "00010",
    "price": "962500"
  }
]
登录后复制

并且按降序排列:

[
  {
    "h_id": "5",
    "city": "New York",
    "state": "NY",
    "zip": "00010",
    "price": "962500"
  },
  {
    "h_id": "4",
    "city": "Bevery Hills",
    "state": "CA",
    "zip": "90210",
    "price": "319250"
  },
  {
    "h_id": "3",
    "city": "Dallas",
    "state": "TX",
    "zip": "75201",
    "price": "162500"
  }
]
登录后复制

这种排序功能允许在 JavaScript 应用程序中灵活高效地进行数据操作。

以上是如何在 JavaScript 中按属性值对对象数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板