【问题标题】:How can I write to a file in array notation using Node.js如何使用 Node.js 以数组表示法写入文件
【发布时间】:2014-02-22 06:13:38
【问题描述】:

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

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

这是目前为止的代码:

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!");
    }
}); 

【问题讨论】:

    标签: node.js fs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 这完全可行,但我认为最正确的答案是使用 JSON.stringify(output)。
      猜你喜欢
      • 1970-01-01
      • 2015-08-25
      • 2018-07-04
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多