Este es el código que estoy usando para obtener la matriz y luego agregarla al objeto seleccionado.
var select = document.getElementById('select'); var theArray = localStorage.getItem("array") JSON.parse(theArray) if (theArray != null){ for (var i=0; i > theArray.length; i++){ select.add(theArray[i]) } }Aquí está el código que estoy usando para establecer los valores de almacenamiento local.
var select = document.getElementById('select'); var option = document.createElement("option"); option.text = visText; option.value = actVal; select.add(option) theArray[theArray.length+1] = option; localStorage.setItem("array",JSON.stringify(theArray))¿Alguien puede decirme cómo arreglar esto?
Parece que olvidó asignar el Json analizado a una variable:
let select = document.getElementById('select') let data = JSON.parse(localStorage.getItem('array')) for(let entry of data) { select.add(new Option(entry)) }No estoy 100% seguro de si funciona, pero debería hacerlo.
Simplemente puede llamar a la sesión y al almacenamiento local con notación de puntos. El fragmento a continuación muestra esto. Sin embargo, los fragmentos aquí están en un espacio aislado y no se pueden escribir. Por lo tanto, para demostrar cómo completar un elemento de selección de una matriz, utilicé un bloque try..catch para que, cuando fallara, al menos completara las opciones de selección con la variable array original.
const array = new Array(10).fill(0).map((elm, idx) => (elm = idx, elm)); let arrayFromStorage; try { window.localStorage.myArray = JSON.stringify(array); arrayFromStorage = JSON.parse(window.localStorage.myArray); } catch (error) { console.warn(error.message) arrayFromStorage = array; } arrayFromStorage.forEach(elm => { const opt = document.createElement('option'); opt.value = elm; opt.innerText = `option ${elm}`; document.querySelector('select').append(opt); }) <select></select>Si copia/pega esto en la consola de un navegador, puede ver que se puede configurar y llamar usando la notación de puntos
const array = new Array(10).fill(0).map((elm, idx) => (elm = idx, elm)); let arrayFromStorage; window.localStorage.myArray = JSON.stringify(array); arrayFromStorage = JSON.parse(window.localStorage.myArray);