D3.js 如何在对象数组中查找最小值和最大值

D3.js 如何在对象数组中查找最小值和最大值,d3.js,D3.js,我是D3和Javascript社区的新手。我有一系列的对象(国家),每个对象都由年份和它的价值(收入)组成 如何获取所有对象的最小和最大收入值及其设置颜色图例的关键点 请找到该项目的链接,希望它能帮助解释这个问题 感谢您阅读这些问题。要获得全局最大值,您可以使用 const max=d3.max( countries.map(国家=> d3.最大值(对象值(国家)); // 179000 它所做的是迭代各个国家,从每个国家获取所有值的最大值。然后,它取这些最大值的最大值并返回该值 为了得到相应

我是D3和Javascript社区的新手。我有一系列的对象(国家),每个对象都由年份和它的价值(收入)组成

如何获取所有对象的最小和最大收入值及其设置颜色图例的关键点

请找到该项目的链接,希望它能帮助解释这个问题


感谢您阅读这些问题。

要获得全局最大值,您可以使用

const max=d3.max(
countries.map(国家=>
d3.最大值(对象值(国家));
// 179000
它所做的是迭代各个国家,从每个国家获取所有值的最大值。然后,它取这些最大值的最大值并返回该值

为了得到相应的年份,它变得更加复杂。您可以使用
Object.entries
获取键值对,而不仅仅是值。 然后,您可以手动循环每个国家/地区,更新最大值以及相应的年份

data.reduce((最大值,国家)=>{
const newMax=d3.max(对象值(国家));
如果(新最大值>最大值){
返回{
年份:Object.entries(country.find)([year,value])=>value==newMax[0],
值:newMax,
};
}
返回最大值;
},{value:0});
//{年份:“2040”,价值:179000}

我在学习d3js时正在处理一个类似的数据集,请查看,如果您对我的实现有任何疑问,请告诉我know@RicardoSanchez互动功能为我的项目提供了灵感。干杯