【发布时间】:2021-10-17 04:45:12
【问题描述】:
我有一个带有名称的文本文件,每个名称位于不同的行。我想将第一行设置为一个变量,然后在 3 秒后,取第二行并将其设置为相同的变量,依此类推。可能会尝试使用 for 循环之类的东西。我正在使用 Node Js,并且可以使用包和其他代码等,只需要一种方法来完成这项工作。此外,我可以将文本文件内容设置为字符串,因此如果无法对文本文件进行排序,我可以使用字符串没有问题。我只需要一种方法来遍历这些行并将每个行设置为一个变量(const、var 等)。
Test.txt 示例:
凯文
鲍勃
莎莉
达拉
约翰
金
然后我要做的就是将第 1 行:Kevin 设置为一个字符串。 常量名称 = 凯文; 然后 3 秒后将其设置为 Bob 等。
提前致谢!
Line Reader NPM 包链接:https://www.npmjs.com/package/line-reader
将文本文件内容设置为字符串的当前代码:
var lineReader = require('line-reader');
lineReader.eachLine('Test.txt', function(text, last) {
console.log(text);
//"text" is equal to the contents of the text file Test.txt
});
【问题讨论】:
-
let name = line -
抱歉,这是一个错误的变量名。行等于所有行。我会解决的。
-
基于文档:eachLine 函数读取给定文件的每一行。在每个新行上,使用两个参数调用给定的回调函数:读取的行和指定读取的行是否是文件的最后一行的布尔值。如果回调返回 false,则停止读取并关闭文件
-
也许在您看来它只是在打印文件内容(也许如果您没有意识到
eachLine有一个自动循环?)。如果你console.log("name:", text);可能会更明显? -
是的,它确实为每一行添加了名称,但它随后将行作为所有行发送,只是前面有名称。
标签: node.js arrays string sorting