D3.js 'd.value' 和 'd[value]' 之间的区别

D3.js difference between 'd.value' and 'd[value]'

我想知道通过 d.valued[value] 引用元素数据是否有区别。我通常使用前者,但在this tutorial中作者使用d[value]来更新pie().value。 由于我正在尝试做完全相同的事情(即在用户单击时更改显示的数据),我想知道我是否可以同时使用两者或者是否每个都有特定的特征。

//here is the code I am referring to, specifically line 4

function change() {
  var value = this.value;
  clearTimeout(timeout);
  pie.value(function(d) { return d[value]; }); // change the value function
  path = path.data(pie); // compute the new angles
  path.transition().duration(750).attrTween("d", arcTween); // redraw the arcs
  }
});

d.value 等同于 d['value']。但与 d[value] 不同。这里的值是一个变量。 所以如果 value = 'x' 那么 d[value] 意味着 d.x

所以试试 d['value']