函数(d,i){return i})中的'i'是什么意思?

时间:2018-11-18 08:23:24

标签: javascript d3.js

“ i”是什么意思? 我读到:

'i给您当前项目的索引'..但我听不懂'当前项目的索引。...

    <script type="text/javascript">
      var dataArray = [20, 40, 50];

      var canvas =  d3.select("body")
                  .append("svg")
                  .attr("width",500)
                  .attr("height",500);

      var bars = canvas.selectAll("rect") 
                  .data(dataArray)
                  .enter() 
                  .append("rect")
                  .attr("width",function(d){return d*10;})
                  .attr("height",50)
                  .attr("y", function(d,i){return i*100}); 
    </script>

如果我在编码中不给出* 100 矩形彼此重叠...

1 个答案:

答案 0 :(得分:0)

根据您提供的示例数据

var dataArray = [20, 40, 50];

当矩形附加到画布上时,每个矩形都传递给如下设置Y值的函数-

d-实际数据。在这种情况下,它将是20、40或50。但这可能会更复杂,例如一个对象,具体取决于要添加的数据。

i-数据数组中所述数据的索引。由于数据数组中有3个项目,因此分别为0、1和2。

在追加时,Y函数使用数组内数据的索引来适当地隔开矩形,以使它们不重叠。同样,d用于通过引用数据来创建具有不同宽度的矩形。