javascript - 将文本文件垂直转换为多维数组(不是逐行)
问题描述
我在一个名为的变量中获取了以下文本文件myText
:
file.txt:
1,5,9
2,6,0
3,7,0
4,8,0
myText = // content of file.txt
myText
我想通过对每列中的元素进行分组来获得一个看起来像这样的二维数组:
my2DArray = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 0, 0, 0],
]
解决方案
假设所有行的元素个数相同,可以先从文本中构造一个二维数字数组,然后用Array.from
来获取每一列的元素。
let myText = `1,5,9
2,6,0
3,7,0
4,8,0`;
const parts = myText.split('\n').map(x => x.split(',').map(Number));
const res = Array.from({length: parts[0].length},
(_,i)=>Array.from({length: parts.length}, (_,j)=>parts[j][i]));
console.log(JSON.stringify(res));
推荐阅读
- javascript - 如何在 JavaScript 中调用返回另一个函数的函数?
- php - 从 symfony 4 中的文件夹中删除文件
- google-sheets - 如何在本地缓存 GOOGLEFINANCE 结果?
- perl - perl如何获取文件名和扩展名
- sql - 如何使用 SUM 函数从 SQL Server 获取不重复记录的总数
- laravel - (Laravel)无法打开流:权限被拒绝
- python - Python bool 和 numpy bool_ 的行为究竟有何不同?
- java - 用 PDFBox 压缩 PDF 的最佳解决方案是什么?
- spring - JPA findByAttributeName 方法不起作用
- nosql - Result-Set Query Scale 如何在 Google Cloud Datastore 中完成