diff --git a/Searching/Binary Search/Javascript/BinarySearch.js b/Searching/Binary Search/Javascript/BinarySearch.js new file mode 100644 index 00000000..70ccd749 --- /dev/null +++ b/Searching/Binary Search/Javascript/BinarySearch.js @@ -0,0 +1,21 @@ +/** Binary search algorithm in Javascript **/ +/** Follows the README.md **/ + +function binarySearch(array, target) { + let leftIndex = 0; + let rightIndex = array.length - 1; + let middleIndex; + + while (leftIndex <= rightIndex) { + middleIndex = leftIndex + Math.floor((rightIndex - leftIndex) / 2); + if (array[middleIndex] === target) { + return middleIndex; + } + if (arr[middleIndex] < target) { + leftIndex = middleIndex + 1; + } else { + rightIndex = middleIndex - 1; + } + } + return -1; +} \ No newline at end of file diff --git a/Searching/Linear Search/Javascript/LinearSearch.js b/Searching/Linear Search/Javascript/LinearSearch.js new file mode 100644 index 00000000..dc7067ed --- /dev/null +++ b/Searching/Linear Search/Javascript/LinearSearch.js @@ -0,0 +1,10 @@ +/** Binary search algorithm in Javascript **/ + +function linearSearch(array, item) { + for (let i = 0; i < array.length; i++) { + if(array[i] === item) { + return i; + } + } + return -1; + } \ No newline at end of file