javascript - 数组/对象 JSON data.map 不是函数 D3.js v3

标签 javascript jquery arrays object d3.js

我有一个动态 JSON 数据,它更改 API 可以返回单个对象或数据数组,当 API 返回单个对象时,我在循环和数据映射上收到错误。但我尝试不对数据应用 forEach 并单独获取数据并将其存储在数据中。我收到 data.map 不是函数的错误。我有一个条形图,我想显示下面的数据。

 "City": {
    "Town": "Texas",
    "Number": "12"
  }

下面的代码显示了指向 forEach 和 data.map 的数据。如果代码返回大量数据,则代码显示正确。

  data.forEach((d) => {
       d.town = d.Town;
       d.number = +d.Number;
  }); 

  const xScale = d3.scale.ordinal()
            .domain(data.map(d => d.town))
            .rangeRoundBands([0, width], 0.1);

  const yScale = d3.scale.linear()
            .domain([0, d3.max(data, d => d.number)])
            .range([height, 0]);

无论 API 返回单个还是多个值或数据,我如何能够处理图表中的动态数据?

最佳答案

JavaScript 中的对象 {} 没有 .map() 方法,它仅适用于数组 []。

因此,为了使您的代码正常工作,请将 data.map() 更改为 data.city.map(),因为 City 是一个可以迭代的数组。

关于javascript - 数组/对象 JSON data.map 不是函数 D3.js v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57027799/

相关文章:

c++ - 带有 const 表达式的数组声明

c - 在多个数组中执行多重搜索的最佳方法

c++ - 使用指针C++为二维数组赋值

javascript - 根据 vh 将垂直元素对齐到所有分辨率

javascript - 悬停卡有更好的方法吗?

javascript - 使用 find 在容器内进行 jQuery 搜索失去了对 jQuery 的控制

jquery - 编辑内部 iframe 内的跨域 iframe 的 css

javascript - 为什么方法引用不跟踪这个?

javascript - 读起来像 javascript object attr :val pairs 的 CSS 类

jquery - 禁用边栏模板的响应