如何解决数组搜索未返回预期结果 - 它不断出现错误
目标:我正在尝试制作一个简单的搜索栏,用于在输入字段中搜索邮政编码并将其与数组中的邮政编码相匹配。目标是创建一个函数来识别数组中是否存在邮政编码。如果是,它将返回一个语句,否则它将返回一个不同的语句。
预期结果:
- 如果在搜索栏中输入的邮政编码与数组中的邮政编码匹配,则表示该区域已提供服务。
- 如果在搜索栏中输入的邮政编码在数组中不存在,则表示该区域未提供服务。
- 如果用户尝试提交空白输入字段,它会提示输入邮政编码。
实际结果:
- 如果在搜索栏中输入的邮政编码与数组中的邮政编码匹配,它将说该区域没有服务。
- 如果在搜索栏中输入的邮政编码在数组中不存在,则表示该区域未提供服务。
- 如果提交空白输入字段,它会提示输入邮政编码。
我的代码:
var zip = ["19505","19506","19507","19508","19510","19511","19512","19518","19519","19522","19523","19526","18056","19529","19530","19533","19534","19535","19536","19538","19539","19540","19541","19542","19543","19544","19545","19547","19611","19601","19602","19604","19605","19606","19607","19608","19550","19551","19554","19555","19559","19560","19562","19564","19565","19609","19567","19610"];
function validateSearchbox(){
var input = document.getElementById("search-box")
if(input.value.length > 0){
searchResult();
} else {
document.getElementById("search-result").innerHTML = "Please enter a zip code";
}
};
function searchResult(){
var search = document.getElementById("search-box").value;
var index = zip.indexOf("search");
if(index !== -1){
document.getElementById("search-result").innerHTML = "Yes,we do service your area!";
} else {
document.getElementById("search-result").innerHTML = "Sorry,we do not service your area!";
}
};
<div id="search">
<input type ="search" id="search-box" placeholder="Zip Code" maxlength="5"/>
<button onClick="validateSearchbox();" id="search-btn"> Search </button>
</div>
<p id="search-result" style="font-size: 30px; font-weight: 500px;"> </p>
解决方法
您的意外输出是由于使用带有字符串 indexOf
的 "search"
而不是上一行声明的变量 search
引起的。
您的代码正在尝试查找字符串 "search"
而不是变量 search
的索引。以下工作:
function searchResult(){
var search = document.getElementById("search-box").value;
var index = zip.indexOf(search); // <--- variable instead of string
if (index !== -1){
document.getElementById("search-result").innerHTML = "Yes,we do service your area!";
} else {
document.getElementById("search-result").innerHTML = "Sorry,we do not service your area!";
}
};
,
您在 var index = zip.indexOf("search"); 中将“search”作为字符串传递;您必须像这样将搜索作为变量传递。
var search = document.getElementById("search-box").value;
var index = zip.indexOf(search);
if(index !== -1){
document.getElementById("search-result").innerHTML = "Yes,we do service your area!";
} else {
document.getElementById("search-result").innerHTML = "Sorry,we do not service your area!";
}
};```
,
您的代码需要在这一行进行更改: 这样,代码将搜索所需的 zip,而不是硬编码的 zip“搜索”。
val wedData: String = "<html><body><h1>No Internet!</h1></body></html>"
val mimeType: String = "text/html"
val utfType: String = "UTF-8"
var mWebView : WebView
mWebView = findViewById(R.id.web_view)
mWebView.setWebViewClient(object : WebViewClient() {
override fun onReceivedError(view: WebView,errorCode: Int,description: String,failingUrl: String) {
// mWebView.loadUrl("file:///android_asset/myerrorpage.html")
mWebView.loadData(wedData,mimeType,utfType)
}
})
mWebView.apply {
var postData = "user=" + URLEncoder.encode("user","UTF-8") + "&mode="+URLEncoder.encode("client","UTF-8")
settings.javaScriptEnabled = true
settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
postUrl("http://example.com/",postData.encodeToByteArray())
}
使用下面的代码,它试图搜索字符串“search”并给出 index= -1 作为字符串“search”不存在于 Zip 数组中。
var index = zip.indexOf(search);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。