我試圖通過使用輸入在數組中搜索來查找數字。 有任何想法,爲什麼這不起作用?試圖通過輸入來查找數組中是否存在數字
每次我運行代碼,我只得到的消息:
「號碼不存在」
var arr = [18, 21, 34, 42, 65, 63, 39, 13, 15, 24, -1, 14, 15];
var number = document.getElementById("find").value;
var svar = "";
function exists(){
for(i=0; i < arr.length; i++){
if(parseInt(arr[i]) == parseInt(number)){
svar++;
document.getElementById("existsArray").innerHTML = tall + "Number exists";
} else {
document.getElementById("existsArray").innerHTML = tall + "Number does not exist";
}
}
}
<p id="existsArray"></p>
<input placeholder="what number would you like to find?" id="find" type="number">
<button type="button" onclick="exists()">Finn tallet</button>
找到匹配元素後,您需要「中斷」。你仍然在運行數組,所以它不會工作,除非數組中的最後一個元素是匹配的元素。 –
什麼是高大的,爲什麼你有svar –
另外,一些註釋:由於你的數組已經包含數字,所以你不需要'parseInt'它們。另外,由於'number'在循環中不會改變,所以你只需要'parseInt'一次,然後在循環中使用該值。最後,您可以使用[Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)或[Array.prototype.indexOf](https ://developer.mozilla。org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)使這更簡單。 –