Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.每个()索引不';不要从零开始_Javascript_D3.js_Foreach_Each - Fatal编程技术网

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中起作用,但在我的情况下不起作用。不过谢谢你:)