阅读器加载功能未将分割线添加到预定义数组

时间:2019-08-09 11:22:20

标签: javascript html input text readfile

我正在尝试使用html中类型为'file'的输入标签加载文件

<input type="file">

然后使用这个文件,我试图分割每一行并将返回的数组返回到名为lines的数组中。

我尝试过移动console.log(lines),但是只有当console.log在.onload函数内部时,我才能获得正确的结果。

var input = document.querySelector('input[type="file"]')
input.addEventListener('change', function (e) {

    let lines = new Array();
    console.log(input.files)
    const reader = new FileReader()

    reader.onload = function () {
        lines = reader.result.split('\n');
    }

    reader.readAsText(input.files[0]);
    console.log(lines)
})

如何确保lines数组中已插入正确的分割线,以便随后可以在整体功能的其他部分使用lines数组

1 个答案:

答案 0 :(得分:1)

只需尝试在数组中推送拆分值。它可能对您有用。

var input = document.querySelector('input[type="file"]')
let lines = [];
input.addEventListener('change', function (e) {

    
    
    const reader = new FileReader()

    reader.onload = function () {
        lines.push(reader.result.split('\n'));
		
    }
reader.readAsText(input.files[0]);	
    
    console.log(lines);
})
<input type="file">