【问题标题】:Output the answer once when done, not on every line完成后输出一次答案,而不是在每一行
【发布时间】:2022-01-21 20:25:43
【问题描述】:

我运行以下脚本并打印文件中每一行的输出,但我需要在完成后输出一次答案,而不是在每一行上。有人请帮帮我

const fs = require("fs");
const readline = require("readline");
const stream = require("stream");

const filename = process.argv[2];
const instream = fs.createReadStream(filename);
const outstream = new stream();
outstream.readable = true;
outstream.writable = true;

const rl = readline.createInterface({
  input: instream,
  output: outstream,
  terminal: false,
});
const obj = {};
rl.on("line", function (line) {
  const [country] = line.split(",", 1);
  {
    for (let i = 0; i < [country].length; i++)
      if (obj[country] != null) {
        obj[country] += 1;
      } else {
        obj[country] = 1;
      }
  }
  console.log(obj);
});

【问题讨论】:

    标签: javascript node.js arrays count


    【解决方案1】:

    可以使用close事件,该事件在读流关闭并处理完毕后调用。

    rl.on("close", function (line) {
      console.log(obj);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-04
      • 2019-06-09
      • 2015-04-16
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      相关资源
      最近更新 更多