将本地文本文件读入JavaScript数组

Wil*_*oss 27 javascript text

我在与JavaScript文件相同的文件夹中有一个文本文件.这两个文件都存储在我的本地计算机上..txt文件在每行上都是一个单词,如:

red 
green
blue
black
Run Code Online (Sandbox Code Playgroud)

我想在每一行中读取并尽可能高效地将它们存储在JavaScript数组中.你怎么做到这一点?

sia*_*olt 48

同步模式:

var fs = require("fs");
var text = fs.readFileSync("./mytext.txt");
var textByLine = text.split("\n")
Run Code Online (Sandbox Code Playgroud)

异步模式:

var fs = require("fs");
fs.readFile("./mytext.txt", function(text){
    var textByLine = text.split("\n")
});
Run Code Online (Sandbox Code Playgroud)

UPDATE

至少从节点6开始,readFileSync返回a Buffer,因此必须先将其转换为字符串才能split工作:

var text = fs.readFileSync("./mytext.txt").toString('utf-8');
Run Code Online (Sandbox Code Playgroud)

要么

var text = fs.readFileSync("./mytext.txt", "utf-8");
Run Code Online (Sandbox Code Playgroud)

  • 问题显然没有指明正在使用Node.js. 这个答案是Node.js的答案. (26认同)
  • 拆分函数返回一个数组,并且textByLine已经是一个数组 (4认同)
  • 这给了我一个"Uncaught ReferenceError:require not not defined"!我错过了什么? (3认同)