首页 > 解决方案 > 从2个不同的文件中读取二维数组Javascript

问题描述

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

我已经有这样的代码:

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

资源

我成功地将文件存储在一维数组中,但现在我有 2 个文件,我想将它们存储在二维数组中。这个怎么做?

谢谢

标签: javascriptarraysnode.js

解决方案


在读取文件并将结果推送到该变量之后,您可以在顶部有一个带有空数组的变量,如下所示:

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 包这样的想法来处理这个,或者glob


推荐阅读