हमें एक ऐरे दिया जाएगा जिसमें नंबर्स/स्ट्रिंग्स होंगे और कुछ डुप्लिकेट एंट्रीज होंगी। हमें ऐरे में प्रत्येक एलिमेंट की फ्रीक्वेंसी वापस करनी है।
एलिमेंट को की और उसकी फ्रीक्वेंसी को वैल्यू रखकर एक ऑब्जेक्ट वापस करना इस स्थिति के लिए उपयुक्त होगा।
हम forEach() लूप से ऐरे पर इटरेट करेंगे और ऑब्जेक्ट में एलिमेंट्स की गिनती बढ़ाएंगे यदि यह पहले से मौजूद है, अन्यथा उस एलिमेंट के लिए नई प्रॉपर्टी बनाएंगे।
अंत में ऑब्जेक्ट वापस करेंगे।
इस समस्या का पूरा कोड:
const arr = [2,5,7,8,5,3,5,7,8,5,3,4,2,4,2,1,6,8,6]; const getFrequency = (array) => { const map = {}; array.forEach(item => { if(map[item]){ map[item]++; }else{ map[item] = 1; } }); return map; }; console.log(getFrequency(arr));कंसोल में आउटपुट:
{ '1': 1, '2': 3, '3': 2, '4': 2, '5': 4, '6': 2, '7': 2, '8': 3 }