我正在處理的腳本應該相當簡單。用戶呈現兩個按鈕。一個將自己的輸入輸入到數組中。一旦這個數組被創建,它就會自動排序。第二個按鈕允許用戶搜索可能存在或不存在於數組中的任何數字。這是我的問題開始的地方。JavaScript - 在用戶生成的數組中查找對象
應該發生的事情是,當用戶輸入他們想要找到的號碼。該數組將搜索該號碼。如果該數字存在於該數組中,則會顯示一條消息,指出已找到該數字。如果沒有找到該號碼,則會顯示一條消息。
我覺得問題在於我的搜索功能中的for循環。不幸的是,我還沒有自己找到解決方案。當我在代碼片段提交中運行代碼時,出現以下錯誤。
{"message": "Uncaught TypeError: Cannot read property 'length' of undefined",
"filename": "http://stacksnippets.net/js",
"lineno": 65,
"colno": 16 }
該腳本的最新版本已被插入以供參考。任何幫助表示感謝,並提前感謝。
/* Array Function */
function arrayFunction() {
var arr = [];
for (var i = 0; i < 5; i++)
arr.push(prompt("Enter a number"));
bubbleSort(arr);
console.log(arr);
arr.toString();
window.confirm("Your sorted array is: " + arr).innerHTML = arr;
}
/* Sort Function */
function bubbleSort(arr) {
var swapped;
do {
swapped = false;
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = true;
}
}
} while (swapped);
}
/* Search Function */
function numSearch(arr) {
var x = window.prompt("Search for a number.");
for (var i = 0; i < arr.length; i++); {
if (arr[i] == x) {
return window.confirm("It's here.");
}
}
return window.confirm("It is not here.")
}
<html>
<head>
</head>
<body>
<script language="JavaScript">
</script>
<button type="button" onclick="arrayFunction()">Create Array</button>
<button type="button" onclick="numSearch()">Search Array</button>
</body>
</html>
非常感謝你。 – lostintranslation