网站搜索

javascript - 如何遍历数组并将每次迭代写入同一个文件 [nodejs]


我有一个数据数组,我想对其进行循环,在循环过程中我想将它们写入同一个文件。我该如何实现,我下面的代码只会打印最后一次迭代的结果。

for (j = 0; j < arrayPart.length; j++){
    fs.writeFileSync('message.txt', arrayPart[j])
}

message.txt 将包含 arrayPart 的最后一个值。

答案#1

我不会在每次迭代时都打开/写入/关闭,而是打开一个写入流,在循环中写入,并在最后关闭:

 const message = fs.createWriteStream(__dirname + "./message.txt");
 for (let j = 0; j <arrayPart.length; j++){
      message.write(arrayPart[j]);
 }
 message.close();

或者你直接把数组连接起来,一次性写入:

 fs.writeFileSync('message.txt', arrayPart.join(""));

答案#2

只需join数组,然后一次性写入文件:

fs.writeFileSync('message.txt', arrayPart.join(""));