मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जिसमें कुछ डेटा स्टोरेज डिवाइस के बारे में जानकारी है जैसे -
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 } ]