创建文件名big.file和存储值
const fs = require('fs');
const file = fscreateWriteStream('./big.file');
for(let i=0; i<= 2; i++) {
file.write('1\r\n2\r\n3\r\n');
}
file.end()
我读了这个文件,我试图找到oddnumbers的数量
const file2 = fs.readFile('./big.file','utf8', (err,lines) = {
if(err) throw err;
console.log(lines);
const numbers = lines.map(Number);
const oddNumbers = numbers.filte(n => n%2 ===1);
console.log('odd number count:', oddNumbers.length);
});
这是我的输出:
C:\projects\rough>node index.js
1
2
3
C:\projects\rough\index.js:13
const numbers = lines.map(Number);
^
答案 0 :(得分:2)
lines
是一个字符串,而不是一个数组,因为你得到了这个错误。 String
没有map()
方法。
要获取数组,您需要按\n
(换行符)字符拆分数据。
fs.readFile('./big.file', 'utf8', (err, data) = {
if (err) throw err;
const lines = data.split('\n');
console.log(lines);
const numbers = lines.map(Number);
const oddNumbers = numbers.filter(n => n%2 ===1);
console.log('Odd numbers count:', oddNumbers.length);
});