【问题标题】:How do I return an array from an external function in Node如何从 Node 中的外部函数返回数组
【发布时间】:2020-04-09 08:38:56
【问题描述】:

我有一个包含以下内容的文件:

const fs = require('fs');

var loadSingleCsv = function (filename) {
  fs.readFileSync(filename, 'utf8', function (err, data) {

      var dataArray = data.split(/\r?\n/);

      dataArray.forEach((element,index, dataArray) => {
        dataArray[index]= element.split(",");
      });
      dataArray.forEach((element,index, dataArray) => {
        dataArray[index] = `${element[0]}, ${element[1]}, ${element[2]}, ${element[3]}, ${element[4]}`;
      });

      console.log(dataArray);  // this prints to the console as expected

    return dataArray;
    });
  }  

module.exports = { loadSingleCsv };

当我从另一个文件中调用它时,数组显示为“未定义”。这是我的代码:

const loadCsv = require ('../../load-csv-file');

dataArray = loadCsv.loadSingleCsv('./csv-files/rcm-data-01.csv');

console.log(dataArray);

我假设这是一个真正的新手错误,但如果您能提供任何帮助,我将不胜感激。

谢谢。

【问题讨论】:

    标签: arrays node.js module.exports


    【解决方案1】:

    我认为您的问题在于加载文件

    const loadCsv = require ('../../load-csv-file');
    
    dataArray = loadCsv.loadSingleCsv('./csv-files/rcm-data-01.csv');
    

    请检查文件路径。

    【讨论】:

    • 使文件路径像这样“文件夹/子文件夹/文件名”不像这样“'../../load-csv-file'”
    猜你喜欢
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多