जहां तक सॉर्ट की गई सरणियों का सवाल है (किसी भी क्रम में), बाइनरी सर्च सबसे ऑप्टिमाइज्ड और कुशल खोज एल्गोरिदम है। हमें एक बाइनरी सर्च फ़ंक्शन लिखना है जो टार्गेट के लिए लिटरल्स की एक सॉर्ट की गई सरणी को खोजता है।
हमें फिर उस फ़ंक्शन को Array ऑब्जेक्ट्स के प्रोटोटाइप प्रॉपर्टी से जोड़ना चाहिए।
उदाहरण
इसके लिए कोड होगा -
const arr = [2, 5, 8, 12, 14, 16, 17, 22, 26, 28, 35, 67, 78, 99]; const target = 22; Array.prototype.binarySearch = function(target) { if ( !this.length ) { return false; } if ( this[0] === target ) { return true; } var i, mid, start = 0, end = this.length, c = false; while ( c = (i = this[mid = start+((end-start)>>1)]) !== target ) { i < target ? (start = mid) : (end = mid); if (start >= end - 1) { break; } } return !c; }; console.log(arr.binarySearch(target));आउटपुट
कंसोल में आउटपुट होगा -
true