从文件中删除行而不改变节点js

时间:2017-03-23 22:52:03

标签: javascript node.js promise mutation

我是Nodejs的新手

我编写了一个函数,它从文件中读取内容并作为数组存储到变量中。最后我改变变量并将其写入文件。见下文:

function(file, item) {
   return fs.readLine(file).then(function(contents) {
       var data = contents.split(/\n/);
       data.splice(data.indexOf(item), 1);
       return fs.writeFile(file, data.join(/\n/));
});
}

有没有办法在不改变变量的情况下做同样的事情,甚至不得不将文件的内容存储到变量中并在节点js中删除它?

由于

1 个答案:

答案 0 :(得分:1)

如果您不想使用display: flex变异变量,那么您可以使用不会改变原始数组的data.splice()。请参阅文档:

此外,您无需将文件内容读入变量,而是可以创建可读的流并过滤掉您不想要的行。

了解我如何创建过滤标准输入行的data.slice()模块:

源代码和很多例子都在GitHub上:

基本上你可以在这里做的是 - 使用方便的filt模块 - 这样的事情:

split