gpt4 book ai didi

javascript - 类型错误 : undefined is not an object using d3. map

转载 作者:行者123 更新时间:2023-12-03 10:43:02 25 4
gpt4 key购买 nike

我收到一个“[Error] TypeError: undefined is not an object (evaluating 'm.get("foo").name')”错误,我根本不理解。该代码直接从 d3js API 页面获取,当我在 jsfiddle 上尝试时可以工作,但在我的计算机上它不起作用。

完整代码如下:

<div class="snippet" data-lang="js" data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code> var m = d3.map([{name: "foo"}, {name: "bar"}], function(d) { return d.name; });
console.log(m.get("foo").name);</code></pre>
<pre class="snippet-code-html lang-html prettyprint-override"><code> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script></code></pre>
</div>
</div>

我在 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。

当然,这完全取决于您最终想要实现的目标。

希望这有帮助

关于javascript - 类型错误 : undefined is not an object using d3. map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28691146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com