You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按对象中的数值对对象数组进行降序排序?

按对象内数值对数组降序排序的方法

现有如下JavaScript数组:

var arr = [{"apple":3}, {"pear":5}, {"orange":1}]

需要根据每个对象内部的数值进行降序排序,最终得到:

[{"pear":5}, {"apple":3}, {"orange":1}]

实现方法

直接使用数组的sort()方法,结合Object.values()提取对象中的数值完成排序:

var arr = [{"apple":3}, {"pear":5}, {"orange":1}];

arr.sort((a, b) => {
  // 提取每个对象的唯一数值
  const valA = Object.values(a)[0];
  const valB = Object.values(b)[0];
  // 降序排序:用后一个数值减前一个数值
  return valB - valA;
});

console.log(arr); // 输出目标排序后的数组

说明

  • Object.values(a)[0]:由于每个对象仅包含一个键值对,通过Object.values()获取对象的数值数组后,取第一个元素就是对应的数值。
  • sort()方法的比较函数返回valB - valA时,会让数组按数值从大到小排序;若要升序则返回valA - valB。

内容的提问来源于stack exchange,提问作者Aidenhsy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:30:53