如何从Json中获取最小值和最大值

如何从Json中获取最小值和最大值,json,d3.js,Json,D3.js,我想要json文件中名为size的文件中的最小值和最大值。d3js和javascript是如何实现的?迭代json文件有哪些机会 示例json: 原始d3js视觉 如何使用复杂的json文件获得相同的结果,如下所示: 整个项目、包和类都有度量标准。 如何获得Klassen类的最小和最大行代码?据我所知,D3.js对这样的任务没有帮助。在纯JS中,可以将JSON文件转换为普通对象并进行解析。我不提供通用解决方案,因为要比较的结构和数据在不同的文件中确实不同。但想法始终是一样的:从根到叶遍历JSO

我想要json文件中名为size的文件中的最小值和最大值。d3js和javascript是如何实现的?迭代json文件有哪些机会

示例json:

原始d3js视觉

如何使用复杂的json文件获得相同的结果,如下所示:

整个项目、包和类都有度量标准。
如何获得Klassen类的最小和最大行代码?

据我所知,D3.js对这样的任务没有帮助。在纯JS中,可以将JSON文件转换为普通对象并进行解析。我不提供通用解决方案,因为要比较的结构和数据在不同的文件中确实不同。但想法始终是一样的:从根到叶遍历JSON文件的树结构,查找要与基于第一个JSON文件结构的递归函数进行比较的数据:

function recursion(obj){
    if(obj.hasOwnProperty("size")){
        // if the current object has the 'size' property
        // do what you want with 'size'
    } else if (obj.hasOwnProperty("children")) {
        // if the current object has the 'children' property
        // recursively repeat for each children
        obj.children.forEach(function(child){
            result.recursion(child);
        });
    }
}

recursion(data); //data is the object created from the JSON file
flare.json所有元素的最小和最大大小值:


第二个JSON文件LinesofCode的最小值和最大值仅适用于Klassen:

您可以使用d3.extent或d3.max和d3.min。有关API文档,请参阅。也请查看