मान लीजिए, हमारे पास ऑब्जेक्ट्स का एक ऐरे है जैसे कि -
const arr = [{ "value": 10, "id": "111", "name": "BlackCat", }, { "value": 10, "id": "111", "name": "BlackCat", }, { "value": 15, "id": "777", "name": "WhiteCat", }];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है।
फ़ंक्शन को फिर उन सभी ऑब्जेक्ट्स को एक साथ मर्ज करना चाहिए जिनमें "id" प्रॉपर्टी के लिए सामान्य मान है।
इसलिए, उपरोक्त ऐरे के लिए, आउटपुट इस तरह दिखना चाहिए -
const output = [{ "value": 10, "id": "111", "name": "BlackCat", "count": 2, }, { "value": 15, "id": "777", "name": "WhiteCat", "count": 1, }]उदाहरण
const arr = [{ "value": 10, "id": "111", "name": "BlackCat", }, { "value": 10, "id": "111", "name": "BlackCat", }, { "value": 15, "id": "777", "name": "WhiteCat", }]; const combinedItems = (arr = []) => { const res = arr.reduce((acc, obj) => { let found = false; for (let i = 0; i < acc.length; i++) { if (acc[i].id === obj.id) { found = true; acc[i].count++; }; } if (!found) { obj.count = 1; acc.push(obj); } return acc; }, []); return res; } console.log(combinedItems(arr));आउटपुट
कंसोल में आउटपुट होगा -
[ { value: 10, id: '111', name: 'BlackCat', count: 2 }, { value: 15, id: '777', name: 'WhiteCat', count: 1 } ]