Extraction of Nested Array Values

In response to http://stackoverflow.com/questions/21173268/javascript-d3-get-the-biggest-value-from-a-multi-nested-array-object-dataset

by Nivaldo

HTML

<script src="http://d3js.org/d3.v3.min.js"></script>

JavaScript

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}}
        ]}
    ]}
];

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

console.log(array)

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);
        }
    }
}

console.log(arr);

var max = d3.max(arr)

console.log(max)