Archivo de texto a Matriz Anidada de JavaScript
Tengo este archivo .txt que necesito cambiar a un array anidado:
000011000000
000100001100
000001100001
010010001000
100101000100
101010010001
001000001001
000001000111
010100100010
010010010010
000000011100
001001110000
en el formato:
var data = [
[0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0],
[1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0],
[1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1],
[0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1],
[0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0],
[0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0]
]
Lo que he hecho hasta ahora es:
1. Leer el archivo:
function readMatrixFile() {
var inputElement = document.getElementById("adjencyMatrixInput");
var fileList = inputElement.files;
var plainMatrix = new FileReader();
plainMatrix.readAsText(fileList[0]);
plainMatrix.onload = function () {
// Agregar a la matriz
renderMatrix(plainMatrix)
}
}
- Dividir el archivo
function renderMatrix(plainMatrix) {
var matrix = plainMatrix.result;
var mtx = [];
matrix = matrix.split("\n");
}
Sé que necesito hacer un bucle for, pero no estoy seguro de cómo obtener el array anidado.
davy.ai
Para crear una matriz anidada a partir del archivo de texto dado, debe dividir cada línea del archivo en caracteres individuales y luego ingresar esos caracteres en una nueva matriz anidada. Puede hacer esto usando bucles for anidados: uno para iterar a través de cada línea del archivo y otro para iterar a través de cada carácter en esa línea.
Aquí hay un ejemplo de cómo hacer esto:
En este ejemplo, la variable
matriz
se divide en un array de líneas usando la función.split ()
. El primer buclefor
itera a través de cada línea enmatrix
, creando una nueva matriz vacía llamadanestedArray
para cada línea.El segundo bucle
for
itera a través de cada carácter en la línea actual dematrix
. Se usa la funciónparseInt ()
para convertir el carácter de una cadena a un número, y este número se ingresa ennestedArray
.Finalmente,
nestedArray
se ingresa enmtx
, la matriz que contendrá todas las matrices anidadas.Con este código, debería poder leer el archivo de texto y crear la matriz anidada necesaria en el formato mostrado en la pregunta.