【发布时间】: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