मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr = [ { "customer": "Customer 1", "project": "1" }, { "customer": "Customer 2", "project": "2" }, { "customer": "Customer 2", "project": "3" } ]
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक ऐसी सरणी लेता है, और एक नई सरणी देता है (रिटर्न)।
नए एरे में, समान मान वाली सभी ग्राहक कुंजियों को मर्ज किया जाना चाहिए और आउटपुट कुछ इस तरह दिखना चाहिए -
const output = [ { "Customer 1": { "projects": "1" } }, { "Customer 2": { "projects": [ "2", "3" ] } } ]
उदाहरण
आइए कोड लिखें -
const arr = [ { "customer": "Customer 1", "project": "1" }, { "customer": "Customer 2", "project": "2" }, { "customer": "Customer 2", "project": "3" } ] const groupCustomer = data => { const res = []; data.forEach(el => { let customer = res.filter(custom => { return el.customer === custom.customer; })[0]; if(customer){ customer.projects.push(el.project); }else{ res.push({ customer: el.customer, projects: [el.project] }); }; }); return res; }; console.log(groupCustomer(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { customer: 'Customer 1', projects: [ '1' ] }, { customer: 'Customer 2', projects: [ '2', '3' ] } ]