Tengo un bloque de código que guarda la entrada en localStorage, sin embargo, cuando miro en localStorage, no está formateado correctamente. Este es el código:
var selectN = document.getElementById("select").value; var arr= JSON.parse(localStorage.getItem("Table")); var arr2 = [arr] arr2.push(selectN); localStorage.setItem("Table", JSON.stringify(arr2)); Sin embargo, termina formateándose así: [["", "Data1"], "Data2"] que no es lo que estoy buscando. Estoy buscando algo como esto ["", "Data1", "Data2"] Sin embargo, parece que obtengo el mismo resultado. Incluso he intentado:
const arr = [JSON.parse(localStorage.getItem('Data'))]; const arr2 = [ ...arr, selectN ]Cualquier ayuda sería apreciada.
Debe analizar los valores de la tabla en una matriz "si hay valor desde la primera vez que la tabla será nula", y luego agregar los valores seleccionados a la matriz de la tabla, luego encadenar la matriz y configurarla en el almacenamiento local. Aquí está el fragmento de código
var selectN = ["Data1", "Data2"] var table = localStorage.getItem("Table"); var arr = [] if(table) arr = JSON.parse(table); arr.push(...selectN); localStorage.setItem("Table", JSON.stringify(arr)); console.log(localStorage.getItem("Table")) // ["Data1","Data2"]Vi que pusiste la matriz dentro de una nueva matriz. esa es la razón por la que obtuviste esta nueva estructura de matriz.
var arr = JSON.parse(localStorage.getItem("Table")); // arr output ["Data1"] data.push( document.getElementById("select").value ); localStorage.setItem("Table", JSON.stringify(arr2));