You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

D3.js遍历嵌套数组查找grouped_ratings下value字段最大值

错误原因

  • 内层逻辑错误:d3.max要求入参为数组,若v.value是单个数值,直接调用d3.max(v.value)会返回undefined,无法得到正确值
  • 外层逻辑错误:你在第一层d3.max的迭代函数中返回了d3.map生成的数组,d3.max默认无法直接计算嵌套数组的最大值,最终返回结果不符合预期

修复代码

最简洁的写法是直接嵌套调用d3.max,不需要额外做数组映射:

var yMax = d3.max(grouped_ratings, function(g) {
  // 计算单个分组下所有value的最大值
  return d3.max(g.values, function(v) {
    // 直接返回目标字段值即可,d3.max会自动遍历取值
    return v.value;
  });
});

如果需要兼容更深层级的结构,也可以先把所有目标字段提取为一维数组再计算最大值:

const allValues = []
grouped_ratings.forEach(g => {
  g.values.forEach(v => allValues.push(v.value))
})
const yMax = d3.max(allValues)

内容的提问来源于stack exchange,提问作者pindotcom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:36:04