Me gustaría tomar una tabla y convertirla en una matriz de matrices. En otras palabras, la tabla sería mi matriz general y cada fila sería una matriz dentro de esa matriz. ¿Hay alguna manera de hacer esto con el texto de la tabla? También me interesa asegurarme de que las cadenas permanezcan como cadenas, pero los números enteros se conviertan al tipo int.
Probé varios métodos para recorrer la tabla e imprimir en la consola, pero no encontré una manera de generar filas como matrices dentro de la matriz de la tabla, con las cadenas restantes como tipo de cadena y los enteros analizados a int escribe.
Llegué a este punto, pero no tengo claro cómo hacer esto con los elementos DOM:
function displayConsole() { console.log(myTableArray); trName = document.querySelectorAll(".table tbody, tr"); console.log(trName); var tr = document.getElementsByTagName("tr"); var td = document.getElementsByTagName('td'); var trArray = []; tdLength = td.length; for (i = 0; i < tdLength; i++) { trArray.push( td[i].innerText ); } console.log(trArray);Este es mi primer paso del proceso, después del cual también espero pasar la matriz de matrices como un objeto a los formularios de Django y reutilizarla en otras páginas.
Necesita bucles anidados para crear matrices anidadas. Puede usar map() para cada nivel.
Puede usar una expresión regular para probar si la celda de la tabla parece un número entero y llamar a parseInt() para convertirlo.
function displayConsole() { const trs = document.querySelectorAll(".table tbody tr"); var trArray = Array.from(trs).map(tr => Array.from(tr.cells).map(td => { if (/^-?\d+$/.test(td.innerText)) { return parseInt(td.innerText); } else { return td.innerText; } })); console.log(trArray); }