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

时间:2018-10-15 20:53:16

标签: javascript node.js for-loop

我有一个要遍历的数据数组,在遍历时我想将它们写入同一文件。我如何能达到同样的效果,我的以下代码将只显示最后一次迭代。

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

message.txt的最后一个值为arrayPart

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

 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(""));