Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में सरणी में प्रत्येक ऑब्जेक्ट के लिए डुप्लिकेट मर्ज करें और गिनती बढ़ाएं

<घंटा/>

मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -

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 }
}

  1. जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना

    जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में प्रारूपित करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <ti

  1. जावास्क्रिप्ट के साथ ऑब्जेक्ट्स को एक ऑब्जेक्ट ऐरे में कैसे मर्ज करें?

    ऑब्जेक्ट्स को एक ऑब्जेक्ट एरे में मर्ज करने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>D

  1. कैसे जावास्क्रिप्ट में प्रत्येक वस्तु के लिए एक अद्वितीय आईडी बनाने के लिए?

    निम्नलिखित प्रत्येक वस्तु के लिए एक अद्वितीय आईडी बनाने के लिए कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>