gpt4 book ai didi

javascript d3 从多重嵌套数组/对象数据集中获取最大值

转载 作者:行者123 更新时间:2023-11-28 20:03:54 24 4
gpt4 key购买 nike

如何减少一堆深度嵌套的数组并获得某些键的最大值?这是我的数据格式:

var data = [
{
"category": "Cat 1",
"subcategories": [
{
"subcategory": "Subcate 1 a",
"problems": [
{
"problem": "Problem 1 a 1",
"total": 3,
"breakdown": {
"moderate": 1,
"severe": 2
}
},
{
"problem": "Problem 1 a 2",
"total": 6,
"breakdown": {
"moderate": 5,
"severe": 1
}
}
]
}
]
},
{
"category": "Cat 2",
"subcategories": [
{
"subcategory": "Subcate 2 a",
"problems": [
{
"problem": "Problem 2 a 1",
"total": 8,
"breakdown": {
"moderate": 5,
"severe": 3
}
}
]
},
{
"subcategory": "Subcat 2 b",
"problems": [
{
"problem": "Problem 2 b 1",
"total": 4,
"breakdown": {
"moderate": 1,
"severe": 3
}
},
{
"problem": "Problem 2 b 2",
"total": 2,
"breakdown": {
"moderate": 2,
"severe": 0
}
}
]
}
]
}
]

如何获得“中度”和“严重”每个值的数组?所以在这个例子中我需要

[1,2,5,1,5,3,1,3,2,0]

然后我想做 d3.max(array) 来从中获取最大值。

最佳答案

这是工作fiddle .只需将对象转换为数组,如下所示:

 var array = $.map(data, function(value, index) {
return [value];
});

var arr =[];

for(var key in array)
{
var subcategories = array[key]['subcategories'];
for(var j in subcategories)
{
var prob = subcategories[j]['problems'];
for(var i in prob)
{
var moderate = prob[i]['breakdown']['moderate'];
var severe = prob[i]['breakdown']['severe'];
arr.push(moderate);
arr.push(severe);
}
}
}
alert(arr); //required array
var max = d3.max(arr) //required max value

并循环遍历它并将值保存到最终数组中!

关于javascript d3 从多重嵌套数组/对象数据集中获取最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173268/

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