मान लीजिए, हमें नंबर्स/स्ट्रिंग्स का एक ऐरे दिया जाएगा जिसमें कुछ डुप्लिकेट एंट्रीज हैं, हमें बस ऐरे में प्रत्येक तत्व की फ्रीक्वेंसी लौटानी है। तत्व को कुंजी और उसकी फ्रीक्वेंसी को मान के रूप में एक ऑब्जेक्ट लौटाना इस स्थिति के लिए एकदम सही होगा।
हम 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 }