簡體   English   中英

Node.js奇數計數錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM