为什么d3 each()函数只迭代列表中的第一项?

时间:2016-10-03 20:06:44

标签: javascript d3.js

由于某种原因,当我实现d3 each()函数时,它只作用于数组中的第一项。例如,在以下函数中,仅警告数组中第一个用户的用户ID:

https://jsbin.com/hayedeh/edit?html,js

我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

使用selectAll代替select将迭代整个数组。也就是说,您需要阅读selections。这是一个奇怪的用例(选择一个数组)。它意味着与选择器或节点元素一起使用来遍历 DOM元素的集合。我认为没有必要使用它来遍历常规数组。只需使用好的老式数组方法。

答案 1 :(得分:0)

你可以这样做forEach

  users.forEach(function(user)
  {
    alert(user.userID);
  });