我正在尝试将 csv 转换为关联数组,但 $.get 函数不会更改外部 textData 变量
function csvToArray(filename){
var textData;
var headers = new Array(),
dataValues = new Array();
$.get(filename, function(data){
textData = data;
});
var dataArray = textData.split('\n');
headers = dataArray[0].split(',');
for(var i = 1; i<dataArray.length; i++){
var thisLine = dataArray[i].split(','),
tempArray = new Array();
for(var j = 0; j<thisLine.length; j++){
tempArray[headers[j]] = thisLine[j];
}
dataValues.push(tempArray);
}
return dataValues;
}
为什么没有设置 textData?
最佳答案
get 是异步
所以当 textData 被设置时,剩下的语句已经被执行了。
因此考虑将 get
之后的语句移动到回调内部,其中填充 textData
然后可以对其进行处理。
关于javascript - 无法从 jquery get 函数访问外部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17600099/