Soy nuevo en Javascript y estoy tratando de recorrer una matriz de JSON [{},{},{}, ...]
Creé esta función para hacer un bucle en una matriz estática de constante JSON, pero no funciona correctamente incluso después de verificar en línea e intentarlo.
function saveAccount() { const userName = document.getElementById('user_name'); const userPassword = document.getElementById('user_password'); const formErrorMessage = document.getElementById('fillFormError'); if(userName.value == '' || userPassword.value == '') { formErrorMessage.textContent = 'Please fill the form fields first!'; formErrorMessage.style.color = 'red'; event.preventDefault(); } else { localStorage.setItem('userName', userName.value); const allUsers = '[{"username":"test3","email":"test3@hotmail.com","password":"123"},{"username":"test2","email":"test2@hotmail.com","password":"123123"},{"username":"test1","email":"test1@hotmail.com","password":"456456456"}]';//JSON.parse(localStorage.getItem('users')); for(var i = 0; i < allUsers.length; i++){ var user = allUsers[i]; console.log(user.username); //alert(user["username"]) if(user.username == userName){ console.log('USERNAME FOUND!!!!!'); } } } }el propósito es encontrar si el nombre de usuario existe en mi matriz de usuarios. consola.log(usuario.nombre de usuario); -> devuelve indefinido y .parse también devuelve un error.
allUser se define actualmente como una cadena, que no se puede repetir. Prueba esto:
const allUsers = [{"username":"test3","email":"test3@hotmail.com","password":"123"},{"username":"test2","email":"test2@hotmail.com","password":"123123"},{"username":"test1","email":"test1@hotmail.com","password":"456456456"}]