如何使用Node.js以数组表示法写入文件

时间:2014-02-21 21:50:30

标签: node.js fs

我正在尝试将文本拆分为数组,然后最终使用该数组的内容创建一个新文件。

但是,当我这样做时,文本文件包含逗号分隔的列表,而不是使用数组表示法。

以下是目前的代码:

var input = "4 Every Dog Must Have His 66 Every Day,";

var lorem = function(text) {
  var textArray = input.split(' ');

  for (var i = textArray.length - 1; i >= 0; i--) {
    if (textArray[i].match(/(\d+)$/)) {
      textArray.splice(i, 1);
    }
  }

  return textArray;

};

output = lorem(input);

var fs = require('fs');
fs.writeFile("test", output, function(err) {
    if(err) {
        console.log(err);
    } else {
        console.log("The file was saved!");
    }
}); 

2 个答案:

答案 0 :(得分:3)

writeFile期望dataStringBuffer,因此它会打印数组的.toString()表示形式。这看起来像"Every,Dog,Must"...

JSON.stringify(output)包裹它以获得一个漂亮的JSON表示"['Every','Dog','Must',....]"

答案 1 :(得分:2)

数组符号是什么意思?这不是带逗号的逗号分隔字符串吗?试试这个。

output = "[" + output.join(', ') + "]";