[英]Node.js odd number count error
創建一個文件名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()
我讀了文件,然后試圖找到奇數的計數
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);
^
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);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.