मान लीजिए, हमारे पास ऑब्जेक्ट्स का निम्नलिखित एरे है -
const arr = [ {id: 1, h1: 'Daily tests'}, {id: 2, h1: 'Details'}, {id: 1, h2: 'Daily classes'}, {id: 3, h2: 'Results'}, {id: 2, h3: 'Admissions'}, {id: 1, h4: 'Students'}, {id: 2, h5: 'Alumni'}, {id: 3, h3: 'Appreciations'}, {id: 1, h5: 'Tiny Tots'}, {id: 1, h6: 'Extras'}, ];हमें एक फ़ंक्शन लिखना है जो इस एरे को एक ऐसे एरे में बदल देता है जहां सभी हेडिंग (h1, h2, h3 ...) जिनका id समान है, वे एक ही ऑब्जेक्ट के अंदर क्लब हो जाएं। इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं -
उदाहरण
const arr = [ {id: 1, h1: 'Daily tests'}, {id: 2, h1: 'Details'}, {id: 1, h2: 'Daily classes'}, {id: 3, h2: 'Results'}, {id: 2, h3: 'Admissions'}, {id: 1, h4: 'Students'}, {id: 2, h5: 'Alumni'}, {id: 3, h3: 'Appreciations'}, {id: 1, h5: 'Tiny Tots'}, {id: 1, h6: 'Extras'}, ]; const clubArray = (arr) => { return arr.reduce((acc, val, ind) => { const index = acc.findIndex(el => el.id === val.id); if(index !== -1){ const key = Object.keys(val)[1]; acc[index][key] = val[key]; } else { acc.push(val); }; return acc; }, []); }; console.log(clubArray(arr));आउटपुट
कंसोल में आउटपुट होगा -
[ { id: 1, h1: 'Daily tests', h2: 'Daily classes', h4: 'Students', h5: 'Tiny Tots', h6: 'Extras' }, { id: 2, h1: 'Details', h3: 'Admissions', h5: 'Alumni' }, { id: 3, h2: 'Results', h3: 'Appreciations' } ]