Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में क्रमबद्ध सूची में किसी आइटम को खोजने का सबसे अच्छा तरीका क्या है?


जहां तक ​​क्रमबद्ध सरणियों का संबंध है (चाहे वह किसी भी क्रम में हो), बाइनरी खोज मौजूद होने के लिए सबसे अनुकूलित और कुशल खोज एल्गोरिथम है। हमें एक बाइनरी सर्च फंक्शन लिखना होता है जो एक लक्ष्य के लिए शाब्दिक के क्रमबद्ध सरणी की खोज करता है।

फिर हमें उस फ़ंक्शन को 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));

आउटपुट

और कंसोल में आउटपुट होगा -

<पूर्व>सत्य
  1. क्या मैं जावास्क्रिप्ट त्रुटि का विस्तार कर सकता हूं? ऐसा करने का सबसे अच्छा तरीका क्या है?

    JavaScript error को error class को बढ़ा कर बढ़ाया जा सकता है। ऐसा करने का सबसे अच्छा तरीका एक नया कस्टम त्रुटि वर्ग बनाना है जो अंतर्निहित जावास्क्रिप्ट त्रुटि वर्ग का विस्तार करता है। जावास्क्रिप्ट में त्रुटियों का विस्तार करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=

  1. जावास्क्रिप्ट में ईवेंट जोड़ने का सबसे अच्छा तरीका क्या है?

    किसी भी तत्व में ईवेंट जोड़ने का सबसे अच्छा तरीका है addEventListener() विधि का उपयोग करना। जावास्क्रिप्ट में ईवेंट जोड़ने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  1. जावास्क्रिप्ट का उपयोग करके नई ब्राउज़र विंडो खोलने का सबसे अच्छा तरीका क्या है?

    विंडो ऑब्जेक्ट की ओपन () विधि जावास्क्रिप्ट का उपयोग करके नई ब्राउज़र विंडो खोलने का सबसे अच्छा तरीका है जावास्क्रिप्ट का उपयोग करके नई ब्राउज़र विंडो खोलने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />