【问题标题】:How do i sort a Javascript Object OR Array of Objects?如何对 Javascript 对象或对象数组进行排序?
【发布时间】:2017-09-23 17:23:03
【问题描述】:

好的,所以我正在尝试对我保存在 Javascript 对象或 Javascript 对象数组中的一些结果进行排序,但我似乎无法破解这个,但是我希望能够按不同的键排序价值观..

我尝试了什么(使用“金额”键)

(想象可排序变量包含 Javascript 对象或 Javascript 对象数组)

var sortable;
            sortable.sort(function (a, b) {
                return a.amount > b.amount;
            });
console.log(sortable);

Javascript 对象

"1": {
    "BTC": {
      "name": "Bitcoin",
      "symbol": "BTC",
      "amount": "5.0000000000",
      "rank": "1",
      "usd_coin": "3580.68",
      "btc_coin": "1.00",
      "volume": "1324380000.00",
      "marketcap": "59337865239.00",
      "1h": "1.62",
      "24h": "0.65",
      "7d": "-12.23"
    },
    "ETH": {
      "name": "Ethereum",
      "symbol": "ETH",
      "amount": "1153.0000000000",
      "rank": "2",
      "usd_coin": "247.05",
      "btc_coin": "0.07",
      "volume": "421132000.00",
      "marketcap": "23388713395.00",
      "1h": "2.06",
      "24h": "1.70",
      "7d": "-12.80"
    },
    "LTC": {
      "name": "Litecoin",
      "symbol": "LTC",
      "amount": "15.0000000000",
      "rank": "5",
      "usd_coin": "48.84",
      "btc_coin": "0.01",
      "volume": "276411000.00",
      "marketcap": "2587009816.00",
      "1h": "2.90",
      "24h": "1.84",
      "7d": "-20.80"
    }
  }

对象数组

[
  [
    {
      "name": "Bitcoin",
      "symbol": "BTC",
      "amount": "5.0000000000",
      "rank": "1",
      "usd_coin": "3580.68",
      "btc_coin": "1.00",
      "volume": "1324380000.00",
      "marketcap": "59337865239.00",
      "1h": "1.62",
      "24h": "0.65",
      "7d": "-12.23"
    }
  ],
  [
    {
      "name": "Ethereum",
      "symbol": "ETH",
      "amount": "1153.0000000000",
      "rank": "2",
      "usd_coin": "247.05",
      "btc_coin": "0.07",
      "volume": "421132000.00",
      "marketcap": "23388713395.00",
      "1h": "2.06",
      "24h": "1.70",
      "7d": "-12.80"
    }
  ],
  [
    {
      "name": "Litecoin",
      "symbol": "LTC",
      "amount": "15.0000000000",
      "rank": "5",
      "usd_coin": "48.84",
      "btc_coin": "0.01",
      "volume": "276411000.00",
      "marketcap": "2587009816.00",
      "1h": "2.90",
      "24h": "1.84",
      "7d": "-20.80"
    }
  ]
]

【问题讨论】:

  • 普通 JS 对象不可排序。
  • 我想我已经理解了你的问题,但也许你能更具体一点吗?您是否返回对象的排序版本?如果是这样,您是否根据它们各自的值对属性进行排序?或者您是否按字母数字对属性进行排序?一个示例 I/O 将大有帮助。
  • 如果你有一个对象数组,你的代码就可以工作。但是,您确实有一个带有对象的单元素数组。
  • 是的,我正在尝试返回一个排序数组,我将研究“带有对象的单元素数组”的问题
  • 是的,很抱歉排序非常好,我只是在对象之前添加了一个元素数组,结果很糟糕

标签: javascript arrays sorting object javascript-objects


【解决方案1】:

有关排序数组,请参阅MDN: Array.prototype.sort() 上的示例。 sort 函数允许您将自己的自定义排序函数传递给它。

还可以使用地图功能。

【讨论】:

    猜你喜欢
    • 2022-06-17
    • 2019-01-08
    • 2011-09-06
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多