for循环不在我的对象数组中循环

8cdiaqws  于 2021-09-13  发布在  Java
关注(0)|答案(3)|浏览(326)

我试图在下面的对象数组中循环。我创建了一个函数来遍历它,如果数据库中存在用户名和密码,则返回true,否则返回false。但是,无论用户名和密码是否存在,它总是返回false。
它可能有什么问题?任何提示都会非常有用!

const dataBase =[
        {
            username:'cristiano',
            password:'hattrick'
        },
        {
            username:'cierra',
            password:'lapuerta'
        },
        {
            username:'carlos',
            password:'elpollo'
        }
    ];

function checkDataBase(userName, passWord){
    for (let i=0; i < dataBase.length; i++){
        if (dataBase[i].username === userName && dataBase[i].passWord === passWord){
            return true;
        }
    }
    return false;
}
rwqw0loc

rwqw0loc1#

只需检查变量的大小写即可。这个测试会起作用。

if (dataBase[i].username === userName && dataBase[i].password === passWord){

我建议您在项目或ide中使用eslint和typescript。他会在行刑前为你指出错误的。

wj8zmpe1

wj8zmpe12#

你需要用小写字母写w

wlsrxk51

wlsrxk513#

此检查不好,因为您的用户对象具有“password”属性,但在if语句中您试图访问不存在的“password”属性。

if (dataBase[i].username === userName && dataBase[i].passWord === passWord)

在javascript中,大小写很重要。

相关问题