Javascripts includes函数在所有条件下都返回false。只有其他部分被执行
请帮我找出下面代码中的错误。includes似乎只返回falseJavascripts includes函数在所有条件下都返回false。只有其他部分被执行,javascript,html,arrays,Javascript,Html,Arrays,请帮我找出下面代码中的错误。includes似乎只返回false const arr = document.querySelector("#array"); const val = document.querySelector("#val"); const button1 = document.querySelector("#insert"); const button2 = document.querySelector("#enter"); let arr1=[]; button1.add
const arr = document.querySelector("#array");
const val = document.querySelector("#val");
const button1 = document.querySelector("#insert");
const button2 = document.querySelector("#enter");
let arr1=[];
button1.addEventListener("click",function(){
arr1.push(Number(arr.value));
console.log(arr1);
});
button2.addEventListener("click",function(){
console.log(val.value);
if(arr1.includes(val.value)){
console.log(`found at ${arr1.indexOf(val)}`);
}else{
console.log("not found");
}
});
您已将输入值转换为数字
arr1.push(Number(arr.value));
所以不能将其称为字符串
改变
arr1.includes(val.value)
到
默认情况下,html输入值返回一个字符串,即使输入类型设置为number您能给我们显示arr1和val的值吗?尝试添加一个从何处访问val.value?我敢说val.value是一个字符串。arr1只包含数字。因此[1,2,3]。includes1的计算结果为false,因为它不包含字符串1,只有数字1表示此arr1.pushNumberRarr.value;我首先想到的是NaN!==楠
arr1.push(Number(arr.value));