Tengo una API que está obteniendo el correo electrónico y la contraseña. Después de eso, estoy viendo si ese correo electrónico y contraseña existen mediante las siguientes funciones:
function EmailCheck(Email){ return arr.some(function(el) {return el.attributes.Email === Email;})}Y lo mismo para la contraseña simplemente cambiando el correo electrónico a la contraseña, pero si el correo electrónico es de un objeto y la contraseña ob otro objeto, pasa. ¿Hay alguna manera de que pueda verificar si la contraseña está en el objeto donde está el correo electrónico?
¿Qué quieres decir con otro objeto que está pasando? ¿Tus objetos se ven así?
emailObject = { 'email': 'some@email.com' } passwordObject = { 'password': 'password' }o así
authObject = { 'email':'some@email.com' 'password': 'password' }si es como este último, solo podría usar una función
authCheck(email,password){ return arr.some((el)=>{ if(el.email != email){ return false } return el.password == password }) }sin embargo, este puede no ser el mejor enfoque. depende del aspecto de su base de datos y de cómo se encadena todo, pero lo que he hecho en el pasado es algo así como
checkUser(email, password){ return arr.find((user)=>{ return user.email === email && user.password === password }) }de esa manera, encuentra el primer objeto (debería ser el único) y lo devuelve para que se use. esto también le permitirá obtener el índice en la matriz si es necesario o realizar otras comprobaciones en el mismo objeto una vez que lo haya obtenido. (como eliminar la verificación de contraseña y hacerlo como una función separada)
checkUser(email, password){ let user = arr.find((user)=>{ return user.email === email }) if(user){ //do password check and other operations here } return user // for anything that needs to be done with the user }