जहां तक क्रमबद्ध सरणियों का संबंध है (चाहे वह किसी भी क्रम में हो), बाइनरी खोज मौजूद होने के लिए सबसे अनुकूलित और कुशल खोज एल्गोरिथम है। हमें एक बाइनरी सर्च फंक्शन लिखना होता है जो एक लक्ष्य के लिए शाब्दिक के क्रमबद्ध सरणी की खोज करता है।
फिर हमें उस फ़ंक्शन को Array Objects के प्रोटोटाइप गुण से जोड़ना चाहिए।
उदाहरण
इसके लिए कोड होगा -
const arr =[2, 5, 8, 12, 14, 16, 17, 22, 26, 28, 35, 67, 78, 99];const target =22;Array.prototype.binarySearch =function(target) ) { अगर (! यह लंबाई) { झूठी वापसी; } अगर (यह [0] ===लक्ष्य) {वापसी सच; } वर मैं, मध्य, प्रारंभ =0, अंत =यह। लंबाई, सी =झूठा; जबकि (सी =(i =यह [मध्य =प्रारंभ + ((अंत-प्रारंभ)>> 1)])! ==लक्ष्य) {मैं <लक्ष्य? (प्रारंभ =मध्य):(अंत =मध्य); अगर (शुरू> =अंत -1) {ब्रेक; } } वापसी !c;};console.log(arr.binarySearch(target));
आउटपुट
और कंसोल में आउटपुट होगा -
<पूर्व>सत्य