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

मूल्यों का योग करते समय सरणियों की एक सरणी के अद्वितीय आइटमों को मिलाएं - जावास्क्रिप्ट

<घंटा/>

हमारे पास सरणी की एक सरणी है, प्रत्येक उपसरणी में ठीक दो तत्व होते हैं, पहला एक स्ट्रिंग है, इस मामले में एक व्यक्ति का नाम और दूसरा एक पूर्णांक है, हमें जो करना है वह उन सभी उप-सरणी को जोड़ना है जिनमें उनका पहला तत्व समान है और दूसरा तत्व है सामान्य उप-सरणी के दूसरे तत्वों का योग होना चाहिए।

हमारा उदाहरण सरणी निम्नलिखित है -

const example = [[
   'first',
   12
], [
   'second',
   19
], [
   'first',
   7
]];

निम्नलिखित में परिवर्तित किया जाना चाहिए

const example = [[
   'first',
   19
   ], [
      'second',
      19
   ]
];

मान लें कि हम एक फ़ंक्शन कंबाइनएरे () लिखते हैं जो इनपुट के रूप में सरणी में लेता है और आउटपुट के रूप में संयुक्त सरणी देता है, उसी के लिए कोड होगा -

उदाहरण

const people = [
   ['Ram', 21],
   ['Mohan', 33],
   ['Vikram', 25],
   ['Mike', 29],
   ['Mohan', 41],
   ['Vikram', 26]
];
const combineArray = (people) => {
   const map = {};
   for(const index in people){
      const name = people[index][0];
      const prop = people[index][1];
      if(map[name]){
         map[name] += prop;
      }else{
         map[name] = prop;
      }
   }
   return Object.keys(map).map(key => [key, map[key]]);
}
console.log(combineArray(people));

आउटपुट

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

[ [ 'Ram', 21 ], [ 'Mohan', 74 ], [ 'Vikram', 51 ], [ 'Mike', 29 ] ]

कम्बाइनअरे फ़ंक्शन को समझना -

यह सरणी पर पुनरावृति करता है, नाम को कुंजी के रूप में मैप करता है और किसी ऑब्जेक्ट में मान के रूप में प्रोप करता है, यह सुनिश्चित करता है कि डुप्लिकेट कुंजी एक साथ जुड़ जाती है, और अंत में ऑब्जेक्ट को सरणी की एक सरणी में बदल दिया जाता है और वापस कर दिया जाता है।

इस फ़ंक्शन की समय जटिलता O(2n) . है जिसे अक्सर O(n) . पर गोल किया जाता है और अंतरिक्ष जटिलता O(n) . है साथ ही।


  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, initial-scale=1.0" /> <t