私は 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]
。ただし、これを行う方法がわかりません。