Javascript 使用用户输入搜索数组
我希望能够使用用户输入的输入搜索数组。因此,例如,如果用户在输入字段中输入“18”,则会显示“未找到值”或“找到值”,具体取决于数字18是否在数组中 这就是我目前所拥有的Javascript 使用用户输入搜索数组,javascript,arrays,search,Javascript,Arrays,Search,我希望能够使用用户输入的输入搜索数组。因此,例如,如果用户在输入字段中输入“18”,则会显示“未找到值”或“找到值”,具体取决于数字18是否在数组中 这就是我目前所拥有的 var search = document.getElementById("search"); var arr = [18,23,20,17,21,18,22,19,18,20]; function beginhere() { var input = document.getElementById("Input").v
var search = document.getElementById("search");
var arr = [18,23,20,17,21,18,22,19,18,20];
function beginhere() {
var input = document.getElementById("Input").value;
for (i=0; i<arr.length; i++){
if (arr[i] == Input) {
alert(arr[i]);
} else {
alert("Value not found");
}
}
};
var search=document.getElementById(“search”);
var arr=[18,23,20,17,21,18,22,19,18,20];
函数beginhere(){
var输入=document.getElementById(“输入”).value;
对于(i=0;i您的错误是Input
中区分大小写的i
if (arr[i] == Input) {
应该是
if (arr[i] == input) {
然后你真的不需要else
部分。只需在循环之后编写not found警报,并在if中编写return语句
function beginhere() {
var input = document.getElementById("Input").value;
for (i=0; i<arr.length; i++){
if (arr[i] == input) {
alert(arr[i]);
return;
}
}
alert("Value not found");
};
我已经重构了你的if
条件,因为现在它会在for
循环的每个周期中对结果发出警报。如果循环在数组中找到了给定的数字,则记录该数字并返回函数(不再需要保持循环活动)。如果没有,则将该值记录到控制台
var-arr=[18,23,20,17,21,18,22,19,18,20];
函数beginhere(){
var输入=document.getElementById(“输入”).value;
对于(i=0;i
点击
您有一些问题:
- 在函数内部移动
search
声明和初始化,因为您需要的是实际值,而不是开始时的值
- 通过在搜索值前面添加一个
加号
,将搜索值转换为一个数字。这将使用将值(字符串或数字)转换为数字
- 使用
搜索进行测试
- 如果找到
搜索
,则退出功能
- 如果循环后未找到,则仅显示一条消息
var-arr=[18,23,20,17,21,18,22,19,18,20];
函数beginhere(){
var search=+document.getElementById(“search”).value,//需要转换为整数
i、 //缺少声明
对于(i=0;i
javascript区分大小写
function beginhere() {
var input = document.getElementById("Input").value;
if(arr.indexOf(parseInt(input)) != -1) {
alert(input);
return;
}
alert("Value not found");
};