gpt4 book ai didi

javascript - 如何从 JSON 中对汇总数字进行排序

转载 作者:行者123 更新时间:2023-11-30 12:25:14 27 4
gpt4 key购买 nike

我的 JSON 如下所示。总结后,我正在寻找对 numberOfPoint 进行排序的方法。

    { "data": [
{
"id": {
"year": 2015,
"Name": "A"
},
"numberOfPoint": 2
},
{
"id": {
"year": 2014,
"Name": "C"
},
"numberOfPoint": 2
},
{
"id": {
"year": 2014,
"Name": "B"
},
"numberOfPoint": 2
},
{
"id": {
"year": 2014,
"Name": "B"
},
"numberOfPoint": 2
},
{
"id": {
"year": 2013,
"Name": "C"
},
"numberOfPoint": 2
}]
}

obj 是我的 JSON。

var result = {};

obj.data.forEach(function (a) { result[a["id"]["Name"]] = (result[a["id"]["Name"]] || 0) + a["numberOfPoint"]; });

结果如下所示

{
"A": 2,
"C": 4,
"B": 4
}

如何从最大到最小的 numberOfPoint 对它进行排序?我想要这样的结果。

{
"B": 4,
"C": 4,
"A": 2
}

提前致谢。

最佳答案

你可以做如下:

var result={
"A": 2,
"C": 4,
"B": 4,
"D": 3
}

var temp = [];
$.each(result, function(key, value) {
temp.push({v:value, k: key});
});
temp.sort(function(a,b){
if(a.v < b.v){ return 1}
if(a.v > b.v){ return -1}
return 0;
});

$.each(temp, function(index, obj) {
alert(obj.k + "-" + obj.v);
});

Here is JSFiddle

关于javascript - 如何从 JSON 中对汇总数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com