Javascript 将对象属性传递给D3';输入();
我有一个具有许多属性的对象,我正试图通过将特定属性传递给下面的Javascript 将对象属性传递给D3';输入();,javascript,d3.js,Javascript,D3.js,我有一个具有许多属性的对象,我正试图通过将特定属性传递给下面的barChart函数来创建一个条形图。但是当它到达attr时,propertyItem是undefined。不知道怎么做。如果我硬编码属性名称,它会工作(例如:d.crament) 假设您的属性项确实存在于数据集中,解决方案很简单:使用。例如: .attr("height", function(d) { return d[propertyItem] * 4; }); 原因是函数中的propertyItem只是一个字符串。如果
barChart
函数来创建一个条形图。但是当它到达attr
时,propertyItem
是undefined
。不知道怎么做。如果我硬编码属性名称,它会工作(例如:d.crament
)
假设您的
属性项
确实存在于数据集中
,解决方案很简单:使用。例如:
.attr("height", function(d) {
return d[propertyItem] * 4;
});
原因是函数中的propertyItem
只是一个字符串。如果你这样做
d.propertyItem
。。。浏览器将查找一个名为propertyItem
的属性,而不是查找字符串的相同属性。让我们展示一下:
var obj={
福:“这就是我想要的!”,
propertyItem:“这不是我想要的…”
};
var propertyItem=“foo”;
log(“obj.propertyItem返回:”+obj.propertyItem)
log(“obj[propertyItem]返回:”+obj[propertyItem])
d.propertyItem