使用FileReader.readAsText()将.txt文件拆分为JavaScript数组
我使用FileReader.readAsText()导入一个文件并将其导入到我的数组中,但它创建了一个新的数组,最后会推到现有数组的第一个位置。当我尝试索引该数组时,它显然是“未定义”的,即使我可以清楚地看到console.log命令中的值。我的test.txt文件读取 aaa使用FileReader.readAsText()将.txt文件拆分为JavaScript数组,javascript,arrays,filereader,Javascript,Arrays,Filereader,我使用FileReader.readAsText()导入一个文件并将其导入到我的数组中,但它创建了一个新的数组,最后会推到现有数组的第一个位置。当我尝试索引该数组时,它显然是“未定义”的,即使我可以清楚地看到console.log命令中的值。我的test.txt文件读取 aaa bbb ccc ddd eee ddd eee eee 我想通过拆分每一行来读取文件并将其存储到数组中 ''' ''' 以下是我的控制台的外观: 您只将单个项目推送到访客列表中——这是分割文件的结果。相反,只需使用.sp
bbb
ccc
ddd
eee
ddd
eee
eee 我想通过拆分每一行来读取文件并将其存储到数组中 ''' ''' 以下是我的控制台的外观:
您只将单个项目推送到
访客列表中
——这是分割文件的结果。相反,只需使用.split
的结果,而不是将其包围在另一个数组中,并确保将结果记录在回调内部,而不是外部
此外,为了实现多系统兼容性,有些环境使用换行符和换行符。考虑使用正则表达式,以可选的方式匹配一个换行符和一个换行符:
document.getElementById('inputfile').addEventListener('change', () => {
const fr = new FileReader();
fr.onload = () => {
const guestList = fr.result.split(/\r?\n/);
console.log(guestList);
};
fr.readAsText(this.files[0]);
});
document.getElementById('inputfile').addEventListener('change', () => {
const fr = new FileReader();
fr.onload = () => {
const guestList = fr.result.split(/\r?\n/);
console.log(guestList);
};
fr.readAsText(this.files[0]);
});