首页 > 解决方案 > 如何使用javascript在txt文件的新行中打印对象数组的每个对象?

问题描述

我的结果集是一个从函数返回的对象数组。

[{brand:"Toyota", model: "Prius"}, {brand:"Subaru", model:"WRX"}, {brand:"Honda", model: "Accord"}]

我正在使用将它写入文件

fs.writeFile('test.txt', array, (err) => {
    if (err) {
        console.log(err);
    }
})

“text.txt”看起来像这样:

[{brand:"Toyota", model: "Prius"},{brand:"Subaru", model:"WRX"},{brand:"Honda", model: "Accord"}]

我怎么能以这样的格式打印它们:

{brand:"Toyota", model: "Prius"}
{brand:"Subaru", model:"WRX"}
{brand:"Honda", model: "Accord"}

标签: javascriptarraysnode.jsobjectformatting

解决方案


您可以尝试传递一个函数

let arr = [{brand:"Toyota", model: "Prius"}, {brand:"Subaru", model:"WRX"}, {brand:"Honda", model: "Accord"}];

function mapLine(_arr, i){
  let a = [];
  _arr.forEach((item)=>{
    newLine = i === 0 ? "" : "\r\n";
    a.push(newLine + JSON.stringify(item));
  })
  return a;
}

fs.writeFile('test.txt', mapLine(arr), (err) => {
    if (err) {
        console.log(err);
    }
})

推荐阅读