当阵列JavaScript中什么都没找到时,如何返回文本



我设法为js阵列编写了函数码:

function searchcontacts() {
    var input = document.getElementById("myInput");
    var btn = document.getElementById("myBtn");
    var inputcase = input.value.toUpperCase();
    for (i=0; i < contacts.length; i++){        
        if(contacts[i].name.indexOf(inputcase) != -1) {
            contacts[i].showcontact();
        } 
        else { 
            continue;
            document.write("no result found </br>"); 
        }
    }
}
function showcontact() {
    document.write("Name:"+this.name+"<br>");
    document.write("address:"+this.address+"<br>");
    document.write("email:"+this.email+"<br>");
    document.write("phone number:"+this.phone+"<hr>");
}
function Contact(name,address,email,phone) {
    this.name=name;
    this.address=address;
    this.email=email;
    this.phone=phone;
    this.showcontact=showcontact;
}

现在,我试图找到一种返回字符串"找不到的结果"的方法,当时什么都没有找到。因为继续;跳过这一步。有人知道我该怎么做吗?新的网络开发!预先感谢您!

您需要跟踪您找到的结果数量,并在循环后检查一下,类似的内容:

function searchcontacts() {
    var input = document.getElementById("myInput");
    var btn = document.getElementById("myBtn");
    var inputcase = input.value.toUpperCase();
    var results = 0;
    for (i=0; i < contacts.length; i++){        
        if(contacts[i].name.indexOf(inputcase) != -1) {
            contacts[i].showcontact();
            results++;
        }
    }
    if(results === 0){
        document.write("no result found </br>"); 
    }
}

最新更新