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

JavaScript में बाइनरी सर्च का उपयोग करके सरणी में खोज

समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सॉर्ट की गई सरणी (बढ़ते क्रम में), arr, को पहला तर्क और एक लक्ष्य संख्या को दूसरा तर्क के रूप में लेता है। हमारे फ़ंक्शन को बाइनरी सर्च एल्गोरिदम का उपयोग करके सरणी arr में लक्ष्य को खोजना चाहिए क्योंकि सरणी सॉर्ट की गई है।

यदि लक्ष्य मौजूद है, तो हमें उसका इंडेक्स वापस करना चाहिए, अन्यथा हमें -1 वापस करना चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है

इनपुट

const arr = [3, 5, 7, 9, 11, 13, 15, 16, 18, 21, 24, 25, 28];
const target = 13;

आउटपुट

const output = 5;

उदाहरण

const arr = [3, 5, 7, 9, 11, 13, 15, 16, 18, 21, 24, 25, 28];
const target = 13;
const binarySearch = (arr = [], target) => {
  const helper = (low, high) => {
    if (low > high) {
      return -1;
    }
    const middle = Math.floor((low + high) / 2);
    if (arr[middle] === target) {
      return middle;
    }
    if (arr[middle] < target) {
      return helper(middle + 1, high);
    }
    return helper(low, middle - 1);
  };
  return helper(0, arr.length - 1);
};
console.log(binarySearch(arr, target));

आउटपुट

5
  1. जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाना जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाना

    परिचय जावास्क्रिप्ट में ऐरे बनाने का एक तरीका new Array() कंस्ट्रक्टर का उपयोग करना है। हालांकि, ऐरे लिटरल सिंटैक्स [] आमतौर पर पसंद किया जाता है क्योंकि यह अधिक संक्षिप्त और तेज़ है। उदाहरण निम्न कोड जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाने के लिए है: <!DOCTYPE html> <html lang=&qu

  1. जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना

    जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style

  1. कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना

    जावास्क्रिप्ट में कंडीशन के साथ ऐरे को जोड़ने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>