हमारे पास एक ऐरे का ऐरे है, प्रत्येक सबअरे में ठीक दो तत्व होते हैं, पहला एक स्ट्रिंग है, इस मामले में एक व्यक्ति का नाम और दूसरा एक पूर्णांक है, हमें जो करना आवश्यक है वह उन सभी सबअरे को संयोजित करना है जिनका पहला तत्व समान है और दूसरा तत्व सामान्य सबअरे के दूसरे तत्वों का योग होना चाहिए।
हमारा उदाहरण ऐरे निम्नलिखित है -
const example = [[ 'first', 12 ], [ 'second', 19 ], [ 'first', 7 ]];
इसे निम्नलिखित में परिवर्तित किया जाना चाहिए
const example = [[ 'first', 19 ], [ 'second', 19 ] ];
मान लीजिए हम एक फ़ंक्शन combineArray() लिखते हैं जो इनपुट के रूप में ऐरे लेता है और आउटपुट के रूप में संयुक्त ऐरे लौटाता है, इसके लिए कोड होगा -
उदाहरण
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 ] ]
combineArray फ़ंक्शन को समझना -
यह ऐरे पर पुनरावृति करता है, नाम को कुंजी और prop को मान के रूप में एक ऑब्जेक्ट में मैप करता है, यह सुनिश्चित करते हुए कि डुप्लिकेट कुंजी एक साथ जुड़ जाती है, और अंत में ऑब्जेक्ट को ऐरे के ऐरे में परिवर्तित किया जाता है और लौटाया जाता है।
इस फ़ंक्शन की समय जटिलता O(2n) है जिसे अक्सर O(n) तक गोल किया जाता है और स्पेस जटिलता भी O(n) है।