Last active
August 29, 2015 14:24
-
-
Save schalkneethling/a6b5682fff648e4b461e to your computer and use it in GitHub Desktop.
Find if an item is in an array and return it's index or -1 if not found
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Returns either the index of the location in the array, | |
or -1 if the array did not contain the targetValue, | |
using a binary seach algorithm */ | |
var inArray = function(array, targetValue) { | |
var min = 0; | |
var max = array.length - 1; | |
var guess; | |
while(max >= min) { | |
guess = min + Math.floor((max - min) / 2); | |
if (array[guess] === targetValue) { | |
console.log('It took ' + counter + ' guesse(s)'); | |
return guess; | |
} else if (array[guess] < targetValue) { | |
min = guess + 1; | |
} else { | |
max = guess - 1; | |
} | |
} | |
return -1; | |
}; | |
var primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, | |
41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]; | |
var result = inArray(primes, 73); | |
console.log("Found prime at index " + result); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment