Estoy creando un sitio de inicio de sesión a través de JSON, y quiero verificar si un nombre de usuario coincide con una contraseña (mediante el uso de índices de matriz para hacer coincidir el nombre de usuario, la contraseña y el correo electrónico), pero no puedo averiguar cómo ver si el nombre de usuario coincide con alguna número de índice y si hay un índice en una matriz que se corresponda con él en la sección de contraseñas. Puedo usar indexOf con recursividad (función que se llama a sí misma) pero tengo que incrementar el índice marcado en 1, lo cual no sé cómo hacer. (busqué cualquier cosa pero no puedo encontrar nada) así:
{ "usernames": [ "Supa", "Marwan", "Jason", "Jacob", ] "passwords": [ "placeholder", "placeholder1", "placeholder2", "placeholder3", ] } function checkDetails(username, password) { let message = document.getElementById("placeholder"); let password = document.getElementById("placeholder1"); let username = document.getElementById("placeholder2"); //part I am struggling with let usernames = json.parse("usernames"); let passwords = json.parse("passwords"); message.innerHTML = (username === usernames[/*i want this to increment to check*/]) ? message.innerHTML = (password === indexOf(/*I want this to be the index of the one index that IS true to the conditional above*/)) ? m essage.innerHTML = "Success with logging in" : message.innerHTML = "Invalid username or password";Como atestiguan los comentarios, su JSON estaba mal formado y esta es una forma completamente insegura de administrar un inicio de sesión. Dicho esto, así es como puede probar un nombre de usuario y, si existe, verifique si se verifica la contraseña adecuada. En la primera línea de la función, normalizamos el nombre de usuario para que esté en minúsculas con cualquier espacio adicional eliminado.
let json = { "usernames": [ "Supa", "Marwan", "Jason", "Jacob", ], "passwords": [ "placeholder", "placeholder1", "placeholder2", "placeholder3", ] } function checkDetails(username, password) { let userindex = json.usernames.findIndex(u => u.toLowerCase().trim() === username.toLowerCase().trim()); if (userindex === -1) { return 'username does not exist'; } else if (json.passwords[userindex] !== password) { return 'wrong password'; } return 'success!' } console.log(checkDetails('Supa1', 'placeholder1')) console.log(checkDetails('Supa', 'placeholder1')) console.log(checkDetails('Supa', 'placeholder'))