我对 JavaScript 世界还很陌生,我不完全确定如何像使用数组一样使用对象(通过索引而不是特定名称从对象内部访问信息)。
我想根据对象的索引检索对象内容的值,类似于数组的索引。我在下面的代码中对此进行了说明:
function pieChart(daten, width, height, div)
{
var data = new google.visualization.DataTable();
data.addColumn('string');
data.addColumn('number');
//returns: [Object, Object, Object, Object]
console.log(daten);
for(item in daten)
{
console.log(daten[item]);
//The following 4 lines are the output of the console log
//Object {crimes: "300", location: "Cardiff"}
//Object {crimes: "900", location: "London"}
//Object {crimes: "500", location: "Manchester"}
//Object {crimes: "400", location: "Dublin"}
//here in lies the problem...
data.addRow([daten[item].location, parseInt(daten[item].crimes)]);
//the output would be: ["Dublin", 400] etc...
}
var chart = new google.visualization.pieChart(document.getElementById(div));
chart.draw(data, {"width": width, "height": height});
}
本质上,我希望能够做到data.addRow([daten[item][0], daten[item[1]])
,因为我在运行时不知道位置和犯罪。
编辑:
我应该注意,我使用的是 Google Visualisations API(如上图所示),它将一个数组作为data.addRow()
. 因此,一种可能的解决方案是将对象转换为具有上述指定要求的数组,使得输出为:["Dublin", 400]["London", 900]["Manchester", 500]["Cardiff", 300]
. 但是,我不知道该怎么做。