如何将TXT文件的二进制矩阵转换为JavaScript嵌套数组
实现方案
你只需要在renderMatrix函数的split操作后,遍历拆分得到的每一行字符串,逐字符转换为数字后组成子数组,推入结果数组即可,注意要过滤掉文件末尾换行产生的空行内容。
完整实现代码
function renderMatrix(plainMatrix) { var matrix = plainMatrix.result; var mtx = []; // 按换行拆分所有行 var rows = matrix.split("\n"); // 遍历每一行 for (var i = 0; i < rows.length; i++) { var currentRow = rows[i].trim(); // 去掉首尾空白字符,处理空行/多余空格 if (currentRow === "") continue; // 跳过空行 // 把当前行的每个字符转成数字,组成子数组 var rowArr = currentRow.split('').map(function(char) { return Number(char); }); // 子数组推入总矩阵 mtx.push(rowArr); } // 此时mtx就是你需要的嵌套数组,可直接赋值给data使用 var data = mtx; console.log(data); // 可以打印验证结果 }
逻辑说明
- 先对拆分后的每一行做trim和空行判断,避免文件末尾多余换行或者行首尾空格导致的格式错误
- 用
split('')把单行的字符串拆成单个字符的数组,再通过map遍历把每个字符转为数字类型 - 把转换好的单行数字数组推入总矩阵数组,最终得到符合要求的嵌套数组结构
内容的提问来源于stack exchange,提问作者ELMER RONIER HUITZ
相关产品推荐
相关产品推荐

