如何通过输入元素(原始js)实时检查JavaScript对象中是否存在用户

如何通过输入元素(原始js)实时检查JavaScript对象中是否存在用户,javascript,firebase,livesearch,Javascript,Firebase,Livesearch,我对JS很陌生,正在尝试实时检查JavaScript对象中是否存在用户或任何值,目标是在Firebase中实现这一点,以防止用户注册(如果该用户名已被使用),但我首先在本地执行,因为我正在学习。这就是我目前所拥有的 let input=document.getElementById('input')) 设btn=document.getElementById('btn') btn.disabled=false 让用户=[ { uname:“马克” }, { uname:“莎拉” }, { ……

我对JS很陌生,正在尝试实时检查JavaScript对象中是否存在用户或任何值,目标是在Firebase中实现这一点,以防止用户注册(如果该用户名已被使用),但我首先在本地执行,因为我正在学习。这就是我目前所拥有的

let input=document.getElementById('input'))
设btn=document.getElementById('btn')
btn.disabled=false
让用户=[
{
uname:“马克”
},
{
uname:“莎拉”
},
{
……其他联塞特派团
}
]
addEventListener('input',()=>{
input.value=input.value.replace(regex,“”)
检查(输入值)
})
功能检查(val){
users.forEach((项目)=>{
设uname=item.uname
if(uname.indexOf(val)>-1&&uname==val){
console.log('已使用该用户名')
btn.disabled=true
}否则{
console.log('Ok')
btn.disabled=false
}
})

}
您没有检查是否找到用户名

function isUsernameAvailable (val) {
    for (var i = 0; i < users.length; i++) {
        var uname = users[i].name;

        if (uname === val) {
            console.log('That user name has been taken')
            btn.disabled = true

            return false; // the username is taken, we can stop checking
        }
    }

    console.log('Ok')
    btn.disabled = false

    return true;
}
函数isUsernameAvailable(val){
对于(var i=0;i
另外,
forEach
不允许您提前退出循环,并且您不需要在找到匹配项后检查每个用户(如果找到匹配项)