Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

217
Vistas
Sistema de inicio de sesión que verifica si el usuario ya tiene una cuenta. Si tienen uno, pueden iniciar sesión, si no lo tienen, deben intentarlo de nuevo.

Mi problema general es encontrar los valores de las variables ''loginEmail'' y ''loginPass'' dentro de mi ''arrayRegistros''. Solo se convierte en VERDADERO cuando escribo el correo electrónico y la contraseña que se incluyen manualmente, sin embargo, siempre termina convirtiéndose en FALSO cuando uso las variables. Intenté convertir las variables en cadenas, luego usé document.getElementById junto con algunas otras ideas, pero hasta ahora, ninguna de ellas completó el sistema de inicio de sesión que había planeado. La ayuda que necesito es cómo se puede encontrar el valor/objeto de una determinada variable, dentro de una determinada matriz.

iniciar sesión (registro) {

 this.arrayRegistros; var loginEmail = document.getElementById('userEmail'); var loginPass = document.getElementById('userPass'); var contaEmail = this.arrayRegistros.some((loginEmail) => { return loginEmail.emailRegistro.includes(loginEmail) }) var contaPass = this.arrayRegistros.some((loginPass) => { return loginPass.passRegistro.includes(loginPass) }) console.log(contaEmail) console.log(contaPass) }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

El primer problema es que está nombrando el parámetro en la función Array.prototype.some igual que la variable que desea verificar fuera del alcance del predicado.

En segundo lugar, suponiendo que this.arrayRegistros es una matriz con objetos con las claves emailRegistro y passRegistro que contienen cadenas, los elementos DOM NO PUEDEN coincidir con cadenas, pero un element.value sí.

Otra cosa que debe tener en cuenta es que include no es un operador de igualdad, 'a-very-strong-password'.includes('a'); devolverá true .

Y, por último, nunca debe validar el inicio de sesión y la contraseña en el navegador, porque el usuario puede editar el código JavaScript sobre la marcha e iniciar sesión sin ninguna credencial real.

Con eso en mente, creo que la solución sería algo así (ignorando el problema de validación del navegador):

 const $userField = document.getElementById('userEmail'); const $passField = document.getElementById('userPass'); const registros = [ { email: 'example@example.com', password: 'a-very-strong-password' }, ...anotherUsers ]; function login(registro) { const { value: user } = $userField; const { value: pass } = $passField; // You can use `Array.prototype.some` to just know if the specific user credentials exist, or use `Array.prototype.find` to know if exist AND grab the user, to further utilization const item = registros.find(item => item.email === user && item.password === pass); if (item) { // User found } else { // User not found } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

debe obtener valores de entradas como esta:

 const data = [ { user : 'jhon', password : 'asdf123' }, { user : 'bob', password : 'asdf124' } ] const userName = document.getElementById('userEmail').value; const passWord= document.getElementById('userPassword').value; const findUser = data.filter( item => item.user === userName && item.password === passWord); if(findUser.length > 0){ //user found }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda