我正在尝试从我的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());
};
所以我希望有人知道这个问题的答案吗?也欢迎对我的代码和/或帖子格式提出其他批评:)