微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何选择在提取请求中接收的所有数据并检查每个项目

如何解决如何选择在提取请求中接收的所有数据并检查每个项目

我将登录名和密码数据作为对象[ { “ id”:“ 1”, “ login”:“ admin”, “密码”:“管理员” }, { “ id”:“ 2”, “ login”:“ abc”, “ password”:“ nmp”, }, { “ id”:“ 3”, “ login”:“ hjjk”, “ password”:“ sddr”, } ] 现在我只检查第一个对象

async function authWithLoginAndPassword() {
    const response = await fetch('');
    const data = await response.json();
    const logUser = data[0].login;
    const passwordUser = data[0].password;
    return { logUser,passwordUser }
}
submit.addEventListener('click',async ()=> {
    try {
        ...
        let register = await authWithLoginAndPassword();
        if(loginUser !== register.logUser) {
           ...
        } 
        if(loginUser === register.logUser) {
           ...
        }
        if(password !== register.passwordUser) {
            ...
        } 
        if(password === register.passwordUser) {
            ...
        }
        if(loginUser === register.logUser && password === register.passwordUser) {
            ...
        }
     } ...
})

如何检查另一个用户名和密码的功能?以及如何编写带有错误的if语句,例如,如果登录名不匹配,则div出现错误,表明登录名不正确且边框变为红色。并与密码类似,但是在那里出现另一个div。如果要使用过滤器

解决方法

您可以使用

data.forEach(row => {
  console.log(row); // do the matching here
})

或类似的过滤器数组

const loggedUser = data.filter(value => { return value.login === loginUser && password === value.password})[0];

您可以更新authWithLoginAndPassword

async function authWithLoginAndPassword() {
    const response = await fetch('');
    const data = await response.json();
    return data;
}
,

您可以使用数组过滤器功能。 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

async function getUsers() {
    const response = await fetch('');
    const users = await response.json();
    return users;
}  

submit.addEventListener('click',async ()=> {
    try {
        const users = await getUsers();
        const authenticatedUser = users.filter(user => {
          return user.login === loginUser && user.password === password;
        })[0]; // 0 index returns first found user with matching properties.

        if (authenticatedUser) {
         // authenticated 
        } else {
         // not authenticated
        }
    } catch(e) {

    }
});

现在authenticatedUser是与loginUser的登录名和密码属性匹配的用户对象,或者是未定义的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。