从2个不同的文件读取为2维数组Javascript

时间:2019-12-16 13:27:48

标签: javascript arrays node.js

如何读取两个.txt文件并将这两个文件转换为2d数组?

我已经有这样的代码了:

var fs = require('fs')
file = './text1.txt'
fs.readFile(file,'utf-8', (e,d) => {
  textByLine = d.split('\r\n');
  console.log("test : " + textByLine[1])
})

source

我成功地将文件存储在1d数组中,但是现在我有2个文件,我想将它们存储在2d数组中。 该怎么做?

谢谢

1 个答案:

答案 0 :(得分:1)

读取文件并将结果推入该变量后,可以在顶部使用一个空数组作为变量,如下所示:

const 2dArray = [];
const fillArray = (path)=> {
  fs.readFile(path,'utf-8', (e,d) => {
    2dArray.push(d.split('\r\n')) // the result is already an array.
  });
});

之后,您可以像这样调用每个文件:

// read the files and push the result to the variable 2dArray
fillArray('./text1.txt'); 
fillArray('./text2.txt');

//you can read the 1st result of your 1st file array like this
const firstPartOfArray = 2dArray[0][0];  // text1 first result value

如果您不需要获取结果文件,则强烈建议您使用异步功能。

您还可以使用fs-jetpack package之类的思想来解决此问题,或者使用glob