javascript で persistencejs (これはライブラリです!) データベースからデータを取得しようとしています。値を取得して配列にプッシュしています。これを forEach ループで実行しています。ループ内で配列に値が入力されています。アラートを使用してこれを確認しました。
しかし、ループの外側の配列を見ると、空です。どうしてこれなの?
コードは次のとおりです (関数内に変数を入れてみましたが、これも this.newDataArray に変更しようとしました)。
var newDataArray = new Array();
function getData(){
dataTable.all().list(function(tasks){
tasks.forEach(function (r) {
var tTank1 = r.Tank1;
var tTank2 = r.Tank2;
var tTank3 = r.Tank3;
var tTank4 = r.Tank4;
var tHelicopter = r.Helicopter;
newDataArray.push(tTank1, tTank2, tTank3, tTank4, tHelicopter);
alert(newDataArray);
});
});
alert(newDataArray);
return newDataArray
}
ここでは、実行中のメソッドの戻り値をテストしています。
Data.prototype.fetchData = function(csv){
jQuery.get(csv, function(data) {
var result = $.csv.toArrays(data);
result.shift();
result.forEach(function (r) {
var joinedResult = r.join();
fillDB(joinedResult);
});
});
alert(getData());
};
だから、誰かがこれに対する答えを知っていることを願っていますか?また、私のコードや投稿形式に関する他の批判も歓迎します:)