Jquery Ajax CSV未定义的数组值
对于我正在使用的脚本,我不断得到一个填充了“undefined”(未定义)而不是实际值的数组,我有一个CSV文件,我正在使用$.ajax读取该文件,我正在尝试根据标题行将整个CSV拆分为数组。Jquery Ajax CSV未定义的数组值,jquery,arrays,ajax,csv,Jquery,Arrays,Ajax,Csv,对于我正在使用的脚本,我不断得到一个填充了“undefined”(未定义)而不是实际值的数组,我有一个CSV文件,我正在使用$.ajax读取该文件,我正在尝试根据标题行将整个CSV拆分为数组。 我现在拥有的代码是: $.ajax({ type: "GET", url: "airport.txt", dataType: "text", success: function(data) { lines = processData(data);
我现在拥有的代码是:
$.ajax({
type: "GET",
url: "airport.txt",
dataType: "text",
success: function(data) {
lines = processData(data);
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
for (var i=1; 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(headers[j]+":"+data[j]);
}
lines.push(tarr);
}
}
lines.map(function(d){
country.push(d.headers);
});
console.log(country);
}
}
});
可能会引起您的兴趣…谢谢@LouysPatriceBesette它似乎可以做我需要它做的事情,不幸的是,虽然我得到了其他人向作者报告的相同问题,但第170行得到了csv。替换不是一个函数,您知道我可能可以解决手头问题的任何其他方法吗?嗯。。。对不起。也许试试?因为尝试编写自己的解析器可能是一个很好的编码练习。但是您可能会遇到与其他解析器相同的问题。如果你仍然想自己实现它,那么就发布你的CSV样本。。。我们会努力的@LouysPatriceBesette我已经设法将CSV分割成我可以用来读取的数组,只需制作它,以便我现在可以在正确的区域使用数组,如果我被卡住了,我将提出一个新问题,非常感谢您的帮助:)未定义的深渊正在等待您……;)洛尔。但是很酷。请随时通过may interest与我联系…谢谢@LouysPatriceBesette它似乎可以做我需要它做的事情,不幸的是,虽然我收到了其他人向作者报告的相同问题,但第170行获得了csv。替换不是一个函数,你知道我可能可以解决手头问题的其他方法吗?嗯。。。对不起。也许试试?因为尝试编写自己的解析器可能是一个很好的编码练习。但是您可能会遇到与其他解析器相同的问题。如果你仍然想自己实现它,那么就发布你的CSV样本。。。我们会努力的@LouysPatriceBesette我已经设法将CSV分割成我可以用来读取的数组,只需制作它,以便我现在可以在正确的区域使用数组,如果我被卡住了,我将提出一个新问题,非常感谢您的帮助:)未定义的深渊正在等待您……;)洛尔。但是很酷。请随时通过电子邮件与我联系
$(document).ready(function(){
//Read CSV
$.ajax({
type: "GET",
url: "airport.txt",
dataType: "text"
})
.done(function(data){
//process CSV Data
processCsv(data);
})
.fail(function(){
alert("Error: Failed to load data");
});
});
function processCsv(data){
//Read CSV Data into multidimensional Array
var array = $.csv.toArrays(data);
//Put headers in own array
var headers = array.splice(0,1);
//Make each header its own value
var headerString = headers.toString();
headers = headerString.split(',');
//separate all array values
var arrayString = array.toString();
array = arrayString.split(',');
return { header:headers, values:array};
}