मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक JSON सरणी है -
const arr =[ { "id":"03868185", "month_10":6,}, { "id":"03870584", "month_6":2, }, { "id":"03870584", "माह_7":5, }, { "आईडी":"51295", "महीना_1":1, }, { "आईडी":"51295", "माह_10":1, }, { "आईडी":"55468" , "माह_11":1, }];
यहाँ, हम देख सकते हैं कि कुछ वस्तुओं में वही "id" गुण दोहराया जा रहा है। हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक ऐसी सरणी लेता है जिसमें एक ही ऑब्जेक्ट में समूहीकृत एक विशिष्ट "आईडी" संपत्ति के लिए सभी कुंजी/मान जोड़े शामिल हैं।
उदाहरण
इसके लिए कोड होगा -
const arr =[ { "id":"03868185", "month_10":6,}, { "id":"03870584", "month_6":2, }, { "id":"03870584", "माह_7":5, }, { "आईडी":"51295", "महीना_1":1, }, { "आईडी":"51295", "माह_10":1, }, { "आईडी":"55468" , "माह_11":1, }];const groupById =(arr =[]) => { const map ={}; कॉन्स्ट रेस =[]; arr.forEach(el => {if(map.hasOwnProperty(el['id'])){ const index =map[el['id']] - 1; const key =Object.keys(el)[1]; रेस [इंडेक्स] [कुंजी] =एल [कुंजी]; } और {मानचित्र [एल ['आईडी']] =रेस। पुश (एल); }}) वापसी रेस;}; कंसोल.लॉग (ग्रुपबायआईडी (एआर) );
आउटपुट
और कंसोल में आउटपुट होगा -
<पूर्व>[ { आईडी:'03868185', माह_10:6}, { आईडी:'03870584', माह_6:2, माह_7:5}, { आईडी:'51295', माह_1:1, माह_10:1}, { आईडी :'55468', माह_11:1 }]