通过锁定的变量进行 CSV 导入
CSV-import via variable locked in
我使用一个漂亮的代码来导入csv数据。但是,我的变量似乎以某种方式被捕获在函数中,因此我无法从.js中的其他地方访问它......
请参阅下面的代码中的两个警报函数。
从帖子复制的代码(如何从*读取数据。使用javascript的CSV文件?
$(document).ready(function () {
$.ajax({
type: "GET",
url: "../recipes.csv",
dataType: "text",
success: function (data) {
processData(data);
}
});
});
function processData(allText) {
var allTextLines = allText.split(/'r'n|'n/);
var headers = allTextLines[0].split(',');
var lines = [];
for (var i = 0; i < allTextLines.length; i++) {
var data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for (var j = 0; j < headers.length; j++) {
tarr.push(data[j]);
}
lines.push(tarr);
}
}
dataArray = (lines + "").split(';');
alert(dataArray[1]); // here it works
}
alert(dataArray[1]); // here it doesn't work: "ReferenceError: dataArray is not defined"
函数
processData(...)
使用的dataArray
变量仅存在于函数内部。
为了在函数外部使用它,您需要声明它。例如:
var dataArray = {};
function processData(allText) {
var allTextLines = allText.split(/'r'n|'n/);
var headers = allTextLines[0].split(',');
var lines = [];
for (var i=0; i<allTextLines.length; i++) {
var data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for (var j=0; j<headers.length; j++) {
tarr.push(data[j]);
}
lines.push(tarr);
}
}
dataArray = (lines + "").split(';');
alert(dataArray[1]);
}
$(document).ready(function () {
$.ajax({
type: "GET",
url: "../recipes.csv",
dataType: "text",
success: function (data) {
processData(data);
alert(dataArray[1]); // here it will return the data from processData(...)
}
});
});
JavaScript中变量的作用域是什么?这是JavaScript中变量作用域的一个有趣的线程。
相关文章:
- 将CSV文件从URL导入Node.js
- 如何将csv数据导入netsuite
- 将Excel/CSV文件中的数据导入angularjs-json对象中
- 有没有一种方法可以使用javascript和节点模块(oracledb)将csv导入oracle数据库
- OSX终端-如何正确编写此命令以将CSV导入MongoDb
- 通过锁定的变量进行 CSV 导入
- CSV 导入未定义的数据
- 使用 d3 导入.csv数据错误:404:未找到错误
- 如何使用JavaScript将数据从excel(xlsx,csv)导入HTML页面
- 导入csv文件并在引导程序网站中显示数据需要什么语言
- 在Netsuite中自动导入CSV文件
- 将.CSV数据导入Javascript,并在字符串包含数据时运行execute
- 如何从.csv文件导入数据并将其转换为java脚本对象
- 在Meteor.js中导入/读取CSV
- '记录的意外结束'使用AngularJS ui grid导入csv
- 在javascript中为excel导入生成CSV的换行符
- 初学者:导入CSV到D3
- D3 CSV导入排序功能显示
- 使用d3.js从.csv导入数据
- CSV 导入脚本在 Google 电子表格中不起作用