简体   繁体   English

javascript搜索数组中的整数

[英]javascript searching for an integer in array

This is my code searching for an integer in a user-generated array. 这是我的代码,用于在用户生成的数组中搜索整数。 I can't figure out how to get the code to actually search the array for the code instead of simply stating the integer searched. 我无法弄清楚如何获取代码以实际在数组中搜索代码,而不是简单说明所搜索的整数。 Any help would be appreciated! 任何帮助,将不胜感激!

 var count = ""; var arr; function myFunction() { var count = prompt("Input array size:"); document.getElementById("demo_a").innerHTML = "Total Count= " + count; arr = [count]; for (i = 0; i < count; i++) { arr[i] = prompt("Enter an integer:"); } document.getElementById("demo_b").innerHTML = arr.toString(); bubbleSort(arr); document.getElementById("demo_b").innerHTML = arr.toString(); } function myPrompt() { var search = prompt("Please enter an integer to search for:"); document.getElementById("demo_c").innerHTML = "Search For: " + search; binarySearch(arr, search); } function bubbleSort(arr) { var i, j, temp = 0; for (i = 0; i < arr.length - 1; i++) { for (j = 0; j < arr.length - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } 
 <button type="button" onclick="myFunction()">Input data</button> <button type="button" onclick="myPrompt()">Find Integer</button> <p id="demo_a"></p> <p id="demo_b"></p> <p id="demo_c"></p> <p id="demo_d"></p> 

I am assuming the array is having only integers. 我假设数组只有整数。

The global variables are removed and creating array as 全局变量被删除并创建数组为

var arr = new Array(count); var arr = new Array(count);

Then, I'm searching using array indexOf method. 然后,我正在使用数组indexOf方法进行搜索。

function myPrompt(arr) {
   var search = prompt("Please enter an integer to search for:");
   document.getElementById("demo_c").innerHTML = "Search For: " + search;
   if(arr.indexOf(search) > - 1)
   { 
     alert('element Found');
   }
}

If this is just for practice or learning then check the below answer. 如果这仅是为了练习或学习,请检查以下答案。 Otherwise, you have to think of other techniques like not using alert for input etc.; 否则,您必须考虑其他技术,例如不对输入使用警报等。 for small data set javascript is fine to sort and search and also do consider what @CollinD has said. 对于小型数据集,javascript可以很好地进行排序和搜索,还可以考虑@CollinD所说的内容。

Anyways, check below code: 无论如何,请检查以下代码:

 var count = ''; var arr; function myFunction() { var count = prompt("Input array size:"); document.getElementById("demo_a").innerHTML = "Total Count= " + count; arr = [count]; for (i = 0; i < count; i++) { arr[i] = prompt("Enter an integer:"); } document.getElementById("demo_b").innerHTML = arr.toString(); bubbleSort(arr); document.getElementById("demo_b").innerHTML = arr.toString(); } function myPrompt() { var search = prompt("Please enter an integer to search for:"); document.getElementById("demo_c").innerHTML = "Search For: " + search; linearSearch(arr, search); } function linearSearch(arr, search) { var found = false; var foundAt; arr.some(function(val, index) { if (val == search) { foundAt = index;   found = true; return true;  } }); if (found) {  document.getElementById("demo_d").innerHTML = "Found " + search + ' at index ' + foundAt;  } else {   document.getElementById("demo_d").innerHTML = "Not Found " + search;   } } function bubbleSort(arr) { var i, j, temp = 0; for (i = 0; i < arr.length - 1; i++) { for (j = 0; j < arr.length - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } 
 <button type="button" onclick="myFunction()">Input data</button> <button type="button" onclick="myPrompt()">Find Integer</button> <p id="demo_a"></p> <p id="demo_b"></p> <p id="demo_c"></p> <p id="demo_d"></p> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM