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

जावास्क्रिप्ट सरणी में अनुपलब्ध संख्यात्मक मान भरें

<घंटा/>

हमें n प्रविष्टियों की एक सरणी दी गई है, जिनमें से केवल 2 संख्याएँ हैं, अन्य सभी प्रविष्टियाँ शून्य हैं। कुछ इस तरह -

const arr = [null, null, -1, null, null, null, -3, null, null, null];

हमें एक फ़ंक्शन लिखना है जो इस सरणी में लेता है और अंकगणितीय श्रृंखला को पूरा करता है जिसमें ये दो संख्याएं एक हिस्सा हैं। इस समस्या को और अधिक स्पष्ट रूप से समझने के लिए, हम इन शून्य मानों को रिक्त स्थान के रूप में सोच सकते हैं जहाँ हमें संख्याओं को भरने की आवश्यकता होती है ताकि संपूर्ण सरणी एक अंकगणितीय प्रगति बना सके।

अंकगणितीय प्रगति के बारे में

संख्याओं की एक श्रृंखला / सरणी को अंकगणितीय प्रगति बनाने के लिए कहा जाता है यदि सरणी से कोई भी मनमानी संख्या n (n-1) वें नंबर में एक स्थिर d जोड़कर बनाई जाती है।

उदाहरण -

1, 2, 3, 4, 5, 6, 7, 8

यहां, प्रत्येक अगली संख्या पूर्ववर्ती संख्या में एक स्थिरांक (इस मामले में) जोड़कर प्राप्त की जाती है।

अन्य उदाहरण -

1, 1, 1, 1, 1, 1, 1, 1, 1
10, 8, 6, 4, 2, 0, -2

ऐसी श्रृंखला के पहले तत्व को पारंपरिक रूप से a द्वारा दर्शाया जाता है और प्रत्येक संख्या में निरंतर प्रगति, सामान्य अंतर, d द्वारा दर्शाया जाता है।

इसलिए, यदि हम ऐसी किसी श्रृंखला के nवें तत्व को Tn से निरूपित करते हैं, तो,

Tn = a + (n -1)d

जहाँ, n उस संख्या का 1 आधारित सूचकांक है।

इन बातों को स्पष्ट करने के साथ, आइए उस समस्या के लिए कोड लिखें जिसका हमने अभी वर्णन किया है। हम पहले सरणी के लिए पहला तत्व (ए) और सामान्य अंतर (डी) खोजने का प्रयास करेंगे। एक बार हमारे पास वे हो जाने के बाद, हम श्रृंखला उत्पन्न करने के लिए मूल सरणी पर एक लूप चलाएंगे।

उदाहरण

const arr = [null, null, -1, null, null, null, -3, null, null, null];
const arr2 = [null, null, -1, null, null, null, 12, null, null, null,
null, null, null];
const constructSeries = (arr) => {
   const map = {
      first: undefined,
      last: undefined
   };
   arr.forEach((el, ind) => {
      if(el !== null){
         if(map['first']){
            map['last'] = [el, ind];
         }else{
            map['first'] = [el, ind];
         }
      };
   });
   const { first, last } = map;
   const commonDifference = (last[0] - first[0])/(last[1] - first[1]);
   const firstElement = (first[0]) - ((first[1])*commonDifference);
   return arr.map((item, index) => {
      return firstElement + (index * commonDifference);
   });
};
console.log(constructSeries(arr));
console.log(constructSeries(arr2));

आउटपुट

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

[
   0, -0.5, -1, -1.5,
   -2, -2.5, -3, -3.5,
   -4, -4.5
]
[
   -7.5, -4.25, -1,
   2.25, 5.5, 8.75,
   12, 15.25, 18.5,
   21.75, 25, 28.25,
   31.5
]

  1. जावास्क्रिप्ट Array.prototype.values()

    जावास्क्रिप्ट की array.values() विधि एक नया Array Iterator ऑब्जेक्ट देता है जिसमें सरणी में प्रत्येक अनुक्रमणिका के मान होते हैं। वाक्य रचना इस प्रकार है - arr.values() आइए अब जावास्क्रिप्ट में array.values() मेथड को लागू करें - उदाहरण <!DOCTYPE html> <html> <body> <h2>Demo

  1. जावास्क्रिप्ट सरणी। मान ()

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें किसी दिए गए सरणी के सभी मान होते हैं। array.values() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  1. जावास्क्रिप्ट में शून्य/खाली वस्तुओं वाले सरणी को मान कैसे असाइन करें?

    जावास्क्रिप्ट का उपयोग करके शून्य/खाली वस्तुओं के साथ एक सरणी को मान निर्दिष्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, init