-2
var datas = [{ "_id" : { "$oid" : "4feeaa97cb675ea1a62cf64a"} , "Amount" : 35.0 , "Category_ID" : "Vegetables"}, { "_id" : { "$oid" : "4feeaaafcb675ea1a62cf64b"} , "Amount" : 55.0 , "Category_ID" : "Vegetables"}]; // these data are from database...

私はそれを割り当てたい、

var obj = {"row": datas};

しかし、likeを使用すると機能しません。

 var data = new google.visualization.DataTable();         
 data.addColumn('string','Category_ID');
 data.addColumn('number','Amount'); 
 data.addRows([
                   [obj.row[0].Category_ID, obj.row[0].Amount],
               [obj.row[1].Category_ID, obj.row[1].Amount],
               [obj.row[2].Category_ID, obj.row[2].Amount]
             ]);
4

2 に答える 2

2

これはうまくいくはずです:

 var data = new google.visualization.DataTable();         
 data.addColumn('string','Category_ID');
 data.addColumn('number','Amount'); 
 data.addRows([
                   [obj.row[0].Category_ID, obj.row[0].Amount],
               [obj.row[1].Category_ID, obj.row[1].Amount]
]);

これは、データ配列に 2 つの要素しかないのに、3 つの要素にアクセスしようとしているためです。

于 2012-07-04T06:16:26.933 に答える
2

行数がわからない場合は、次のようにします。

data.addRows(obj.row.map(function(el) {
  return [el.Category_ID, el.Amount];
}));
于 2012-07-04T08:29:47.770 に答える