TypeError:undefined不是使用d3.map的对象
TypeError: undefined is not an object using d3.map
我得到一个"[Error]TypeError:undefined不是一个对象(正在计算'm.get("foo").name')"错误,我根本不理解。代码直接从d3js API页面获取,当我在jsfiddle上尝试它时可以工作,但在我的计算机上它不工作。
这是完整的代码:
var m = d3.map([{name: "foo"}, {name: "bar"}], function(d) { return d.name; });
console.log(m.get("foo").name);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
我在Safari和Chrome上都试过,结果都一样。
我认为对map
方法存在误解。它应该直接应用于对象,而不是在d3
对象上调用。例如:
var S=[{name: "foo"}, {name: "bar"}];
var m = S.map(function(d) { return d.name; });
console.log(m);
这将返回对象:
["foo","bar"]
如果您正在考虑创建一个关联多维数组,也许您可以使用d3.nest()
方法,如下所示:
var S=[{name: "foo", "coolvalue":5}, {name: "bar", "coolvalue":15}];
var w=d3.nest().key(function(d){return d.name}).map(S);
console.log(w['foo'][0].coolvalue);
这将输出5。
当然,这完全取决于你最终想要实现什么。
希望这能帮助
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 如何在d3.js中返回路径的y坐标
- d3基于用户选择动态更新节点
- 通过内部数组将JSON数据导入D3.js+Google Map
- Array.map() and D3 selection?
- TypeError:undefined不是使用d3.map的对象
- d3.js-是否可以在没有.map的情况下绘制和直方图
- D3 map - 将两个不相交的 SVG 多边形路径合并为一个路径
- D3 使用 d3.map 和 d3 queue() 函数读取 csv
- d3.min.js Uncatch TypeError: a.map 不是一个函数
- d3.js choropleth map——如何将多个属性从CSV映射到JSON,以便在工具提示中使用它
- D3 Voronoi Arc Map - .arcs 的控制属性
- D3:使用.map()来重新排列数据数组
- D3.js:如何使用map函数
- D3+传单map.on()问题-运行函数期间(或之后)拖动事件
- D3 js Choropleth Map的工具提示问题
- 如何编写一个在D3中显示Map的javascript函数
- 将d3.map快速转换为值数组
- Map不使用d3.js加载