data.txt:
xxxx1;yyyy1
xxxx2;yyyy2
xxxx3;yyyy3
xxxx4;yyyy4
xxxx5;yyyy5
这是我的data.txt的外观以及运行以下功能时的样子:
var fs = require('fs');
var x = [];
var y = [];
function pushdata(){
fs.readFile('data.txt', (err, data) => {
data = data.toString().split("\n");
for (let i = 0; i < data.length; i++) {
x.push(data[i].split(';')[0]);
y.push(data[i].split(';')[1]);
}
});
}
pushdata()
console.log(x, y);
输出为:
[] []
代替:
[ 'xxxx1', 'xxxx2', 'xxxx3', 'xxxx4', 'xxxx5' ] [ 'yyyy1', 'yyyy2', 'yyyy3', 'yyyy4', 'yyyy5' ]
我在做什么错了?
答案 0 :(得分:0)
您必须等待完成。您先记录阵列,然后再将任何内容推入阵列
var fs = require('fs');
var x = [];
var y = [];
function pushdata(done){
fs.readFile('data.txt', (err, data) => {
data = data.toString().split("\n");
for (let i = 0; i < data.length; i++) {
x.push(data[i].split(';')[0]);
y.push(data[i].split(';')[1]);
}
done()
});
}
pushdata(function () {
console.log(x, y);
})