Javascript d3.每个()索引不';不要从零开始
我的问题很类似于。解决办法是有一个Javascript d3.每个()索引不';不要从零开始,javascript,d3.js,foreach,each,Javascript,D3.js,Foreach,Each,我的问题很类似于。解决办法是有一个把事情搞砸了。我的车里没有 我有这个咖啡脚本代码: data = [0, 1, 2, 3, 4] d3.select("body") .data(data) .enter() .each((d, i) => console.log(i, d) ) 所需的控制台输出为: 0 0 1 1 2 2 3 3 4 4 实际的控制台输出为: 1 1 2 2 3 3 4 4 我可以通过以下代码获得所需的输出: data = [0, 1, 2
把事情搞砸了。我的车里没有
我有这个咖啡脚本代码:
data = [0, 1, 2, 3, 4]
d3.select("body")
.data(data)
.enter()
.each((d, i) =>
console.log(i, d)
)
所需的控制台输出为:
0 0
1 1
2 2
3 3
4 4
实际的控制台输出为:
1 1
2 2
3 3
4 4
我可以通过以下代码获得所需的输出:
data = [0, 1, 2, 3, 4]
d3.select("body")
.data(data)
.each((d, i) =>
console.log(i, d)
).enter()
.each((d, i) =>
console.log(i, d)
)
但是有两个.each()调用感觉不对。看看
基本上是这样的:
引述:
您还需要选择不存在的元素,以使选择正常工作。。。目前,与数据匹配的选择仅包含一个元素
这意味着您仅针对身体进行选择
简言之:
data = [0, 1, 2, 3, 4]
d3.selectAll("body")
.selectAll('div') // add this
.data(data)
.enter()
.each((d, i) =>
console.log(i, d)
)
d3.each()
从索引0
开始。您在代码中看到的是预期的行为,考虑到您在代码中拥有的内容
这里的问题很简单:当然,页面中有一个
元素。您的数据数组有5个元素,其中一个元素绑定到
让我们看看这个。查看“输入”选项的大小:
data=[0,1,2,3,4]
变量foo=d3。选择(“主体”)
.数据(数据)
.enter();
console.log(“输入选择的大小:+foo.Size())
+1漂亮且完整!我不知道select(null)
。这是否意味着正文
将不会附加数据?使用select(null)
时,您是否注意到任何警告?否。select(null)
和selectAll(null)
是确保数据方法将数据与空选择进行比较的更安全、最重要、更快的方法。信息量非常大。我感谢你的时间,而且这个解决方案对我很有效:)这很有趣。我看到它在JSFIDLE中起作用,但在我的情况下不起作用。不过谢谢你:)