मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr = [ {code: "AA", gender:"male", DOB:"2000-05-15"}, {code: "AA", gender:"female", DOB:"2015-05-15"}, {code:"A0", gender:"female", DOB:"2005-01-01"}, {code: "A1", gender:"male", DOB:"2015-01-15"} ];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो वस्तुओं की एक ऐसी सरणी लेता है। फ़ंक्शन को सरणी में डुप्लिकेट ऑब्जेक्ट्स की संख्या (ऑब्जेक्ट्स की "कोड" संपत्ति के आधार पर) की गणना करनी चाहिए और प्रत्येक अद्वितीय ऑब्जेक्ट को एक नई गणना प्रॉपर्टी असाइन करनी चाहिए।
फ़ंक्शन को प्रत्येक अद्वितीय वस्तु के लिए एक चाइल्ड प्रॉपर्टी भी असाइन करनी चाहिए जिसका मान 1 होगा यदि आयु ("डीओबी" और वर्तमान तिथि का उपयोग करके गणना की गई) 18 वर्ष से कम है, अन्यथा 0।
उदाहरण
इसके लिए कोड होगा -
const arr = [ {code: "AA", gender:"male", DOB:"2000−05−15"}, {code: "AA", gender:"female", DOB:"2015−05−15"}, {code:"A0", gender:"female", DOB:"2005−01−01"}, {code: "A1", gender:"male", DOB:"2015−01−15"} ]; const groupAndAdd = (arr = []) => { const result = new Map(); let nowYear = new Date().getYear(); arr.forEach(el => { let item = result.get(el.code) || {code: el.code, count: 0, female: 0, child: 0 }; item.count++; item.female += el.gender === "female"; item.child += nowYear − new Date(Date.parse(el.DOB)).getYear() <18; result.set(item.code, item); }); return result; }; console.log(groupAndAdd(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
Map { 'AA' => { code: 'AA', count: 2, female: 1, child: 1 }, 'A0' => { code: 'A0', count: 1, female: 1, child: 1 }, 'A1' => { code: 'A1', count: 1, female: 0, child: 1 } }