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

JavaScript में सरणी में सभी पीक और उनकी स्थितियां ढूंढना

बिल्ड अप

मान लीजिए हमारे पास JavaScript में निम्नलिखित सरणी है -

const arr = [4, 3, 4, 7, 5, 2, 3, 4, 3, 2, 3, 4];

यदि हम इस सरणी के बिंदुओं को y-अक्ष पर प्लॉट करते हैं, जिसमें प्रत्येक आसन्न बिंदु x-अक्ष पर इकाई दूरी पर होता है, तो ग्राफ इस तरह दिखेगा -

JavaScript में सरणी में सभी पीक और उनकी स्थितियां ढूंढना

यह ग्राफ स्पष्ट रूप से दिखाता है कि इस सरणी में इंडेक्स 3 और 7 पर मान 7 और 4 के साथ दो स्थानीय अधिकतम (पीक) मौजूद हैं।

समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी, arr, को पहला और एकमात्र तर्क के रूप में लेता है।

हमारा फ़ंक्शन एक ऑब्जेक्ट वापस करने वाला है जिसमें दो प्रॉपर्टीज, maximas और positions होंगी।

ये दोनों प्रॉपर्टीज सरणी होंगी, और maximas सरणी में सरणी में स्थानीय अधिकतम के मान होंगे और positions सरणी में उनके संबंधित इंडेक्स होंगे।

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

इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -

const output = { maximas: [7, 4], positions: [3, 7] };

उदाहरण

निम्नलिखित कोड है -

const arr = [4, 3, 4, 7, 5, 2, 3, 4, 3, 2, 3, 4];
const findMaxima = (arr = []) => {
  let positions = [];
  let maximas = [];
  for (let i = 1; i < arr.length - 1; i++) {
    if (arr[i] > arr[i - 1]) {
      if (arr[i] > arr[i + 1]) {
        positions.push(i);
        maximas.push(arr[i]);
      } else if (arr[i] === arr[i + 1]) {
        let temp = i;
        while (arr[i] === arr[temp]) i++;
        if (arr[temp] > arr[i]) {
          positions.push(temp);
          maximas.push(arr[temp]);
        }
      }
    }
  }
  return { maximas, positions };
};
console.log(findMaxima(arr));

आउटपुट

तब आउटपुट होना चाहिए -

{ maximas: [ 7, 4 ], positions: [ 3, 7 ] }
  1. - JavaScript में सरणी में एक संख्या और उसका nवां गुणक ढूंढना

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहली आर्गुमेंट के रूप में पूर्णांकों की एक सरणी और दूसरी आर्गुमेंट के रूप में एक संख्या, मान लीजिए n, लेता है। फ़ंक्शन को जांचना चाहिए कि क्या सरणी में ऐसी दो संख्याएं मौजूद हैं जिनमें से एक दूसरी का nवां गुणक है। यदि सरणी में ऐसा कोई जोड़ा मौजूद है, तो फ़ंक्शन

  1. - JavaScript में सरणी में उन तत्वों को ढूंढना जिनके पूर्ववर्ती और उत्तराधिकारी सरणी में हैं

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहली और एकमात्र आर्गुमेंट के रूप में पूर्णांकों की एक सरणी लेता है। फ़ंक्शन को मूल सरणी के उन सभी तत्वों वाली एक नई सरणी बनाकर लौटानी चाहिए जिनके उत्तराधिकारी और पूर्ववर्ती दोनों सरणी में मौजूद हैं। इसका मतलब है, यदि कोई तत्व num मूल सरणी में है, तो उसे परिणाम

  1. - JavaScript में सरणी इंटरसेक्शन ढूंढना और दोहराए गए तत्वों को शामिल करना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो पहली और दूसरी आर्ग्युमेंट के रूप में दो सरणी arr1 और arr2 लेता है।फ़ंक्शन को सरणियों का इंटरसेक्शन (दोनों के बीच सामान्य तत्व) ढूंढना चाहिए और यदि ऐसे तत्व हैं जो दोनों सरणियों में दो बार दिखाई देते हैं, तो हमें उन्हें अपने परिणाम सरणी में दो बार भी शामिल