मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जिसमें इस तरह के कुछ डेटा स्टोरेज डिवाइस के बारे में जानकारी है -
const drives = [ {size:"900GB", count:3}, {size:"900GB", count:100}, {size:"1200GB", count:5}, {size:"900GB", count:1} ];
ध्यान दें कि एक ही आकार कई बार कैसे आता है।
हमें एक ऐसा फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है और सभी दोहराए गए आकारों को केवल एक एकल सरणी अनुक्रमणिका में समेकित करता है और स्पष्ट रूप से उनकी गणना जोड़ता है।
उदाहरण
const drives = [ {size:"900GB", count:3}, {size:"900GB", count:100}, {size:"1200GB", count:5}, {size:"900GB", count:1} ]; const groupDrives = (arr = []) => { const map = drives.reduce((map, e) => { if (e.size in map) map[e.size].count += e.count else map[e.size] = e return map; }, {}) const result = Object.keys(map).map(function (k) { return this[k] }, map); return result; } console.log(groupDrives(drives));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { size: '900GB', count: 104 }, { size: '1200GB', count: 5 } ]