Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

282
Vistas
¿Cómo recuperar datos de tablas del almacenamiento local en el formato correcto?

Estoy creando una aplicación de seguimiento de gastos que guarda los datos ingresados en un formulario, luego los registra en una tabla debajo de las entradas (Nombre, Fecha y Cantidad), luego guarda esos datos en el almacenamiento local del navegador como una matriz. Estoy tratando de recuperar los datos de la tabla tal como se registraron en la tabla (en las filas y columnas correctas) cuando se vuelve a cargar la página.

 //FUNCTION TO GET EXISTING EXPENSES FROM LOCAL STORAGE WHEN PAGE IS REFRESHED (display Table on the screen with refreshing Page) function getExpenses(expenses) { //CHECK If an expense exists in Local Storage //Checks if expense exists if (localStorage.getItem("expenses") === null) { expenses = []; //create a new array for expenses if none exists } else { expenses = JSON.parse(localStorage.getItem("expenses")); //Gets back the array of existing expenses if expenses exist } expenses.forEach((item) => { //create <tr></tr> const tableRow = document.createElement("tr"); //new table row tableRow.classList.add("table-row"); //set class to t-row tableHead.appendChild(tableRow); //Append new row(.tableHead) to the table in HTML //create <td></td> const tableDataA = document.createElement("td"); //New Table Data Element tableDataA.innerText = item; tableRow.appendChild(tableDataA); const tableDataB = document.createElement("td"); tableDataB.innerText = item; tableRow.appendChild(tableDataB); const tableDataC = document.createElement("td"); tableDataC.innerText = item; tableRow.appendChild(tableDataC); //APPEND expenseTable.appendChild(tableRow); //To Append .t-row to the Table element in our HTML file }); }

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Según el resultado que obtiene, expenses son una matriz de cadenas en lugar de una matriz de objetos. Por lo tanto, debe iterarlo en grupos de 3, colocando elementos secuenciales de cada grupo en un TD diferente.

No puede hacer esto fácilmente con forEach() , así que use un bucle for .

 for (let i = 0; i < expenses.length; i += 3) { //create <tr></tr> const tableRow = document.createElement("tr"); //new table row tableRow.classList.add("table-row"); //set class to t-row tableHead.appendChild(tableRow); //Append new row(.tableHead) to the table in HTML //create <td></td> const tableDataA = document.createElement("td"); //New Table Data Element tableDataA.innerText = expenses[i]; tableRow.appendChild(tableDataA); const tableDataB = document.createElement("td"); tableDataB.innerText = expenses[i + 1]; tableRow.appendChild(tableDataB); const tableDataC = document.createElement("td"); tableDataC.innerText = expenses[i + 2]; tableRow.appendChild(tableDataC); //APPEND expenseTable.appendChild(tableRow); //To Append .t-row to the Table element in our HTML file }

Probablemente sería mejor si rediseñara su matriz de expenses para que sea una matriz de objetos en lugar de elementos separados para cada columna, por ejemplo

 [ { name: "Gym", date: "2022-02-15", amount: 200 }, { name: "Grocery", date: "2022-02-20", amount: 500 } ]
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda