<p class="center" > name:<br> <input type="text" id="nameinput" required><br> email:<br><input type="email" id="emailinput" required><br> password:<br><input type="password" id="passwordinput" required><br> <button id="registerbutton" onclick="co`enter code here`ntainsObject()">Register<button> <p><br><p id="feedback"></p><br> <button onclick="clearStorage()">Clear Storage</button> <body id="body"> <script> var userArray = []; var person = {}; var newemail; var oldemail; var feedback = document.getElementById("feedback"); person.name = document.getElementById("nameinput").value; person.email = document.getElementById("emailinput").value; person.password = document.getElementById("passwordinput").value; JSON.parse(localStorage.getItem(userArray)); function containsObject(newemail, userArray) { newemail = document.getElementById("emailinput").value; oldemail = localStorage.email; if (newemail === oldemail) { feedback.innerHTML = "email exist"; } else { storeName(); } } function storeName(person, userArray) { let newarray = JSON.parse(localStorage.getItem(userArray)); newarray.push(person); userArray = newarray; localStorage.setItem("person", JSON.stringify(userArray)); console.log(userArray); }Hola, Mohammed, cuando usas el almacenamiento local, siempre debes inicializar un valor antes de modificarlo. Aquí un ejemplo: Inicializando:
localStorage.setItem('user1', 'Mohammed'); localStorage.getItem('user1')O puede sobrescribir su valor:
localStorage.setItem('user1','Jip')Es importante saber que tanto la clave como su valor asignado deben ser cadenas. Entonces, cuando desee almacenar e inicializar una matriz de usuarios, la matriz debe almacenarse como una cadena. Para repetir el proceso para su caso de uso: Inicializar:
localStorage.setItem('users',"[]")Lectura :
localStorage.getItem('users')Alterando su valor:
let users = JSON.parse(localStorage.getItem('users')) users.push('Jip') users = JSON.stringify(users) localStorage.setItem('users',users)Espero que esto sea lo que necesitabas.