Im here because I have weird problem. I wanted to read some int values from txt file. All of them are in one line. To do that simple task I created very simple node.js code:
const readValues = fs.createReadStream(('txt\\' + file[0]));
readValues.setEncoding(); //It's because I want String here
readValues.on('data', (chunk) => {
chunk = chunk.trim();
chunk.split(' ').forEach(value => {
values.push(parseInt(value, 10));
});
});
But when I add console.log to show those values in console:
const readValues = fs.createReadStream(('txt\\' + file[0]));
readValues.setEncoding(); //It's because I want String here
readValues.on('data', (chunk) => {
chunk = chunk.trim();
chunk.split(' ').forEach(value => {
console.log(value); // here
values.push(parseInt(value, 10));
});
});
Then all those values are shown in the console and above warning dosen't here. I tested also readFileSync:
const readValues = fs.readFileSync(('txt//' + file[0]), 'utf8').trim();
readValues.split(' ').forEach(value => {
values.push(parseInt(value, 10));
});
//console.log(values);
But the outcome is reversed - Im getting that error when I display those values, but when I don't display that, I don't get it: https://imgur.com/a/yehrmX7 This is happening in LTS version of node and in 11.11.0. I ran out of ideas and I didn't found any solution. Maybe someone from u know where do I made some mistake ?? I would be grateful for some help.
答案 0 :(得分:0)
问题是我以错误的方式初始化了数组。
我用这种方式:
const values = Array.prototype;
应该是这样的:
const values = new Array();
好的,我的错。我自欺欺人是因为我想在第一步中创建完美的代码。我不是完美的人。对不起,打扰您了。我把其他人的答案留在这里。