मान लीजिए, हमारे पास एक सरणी स्ट्रिंग है जिसमें इस तरह की कुछ डुप्लिकेट प्रविष्टियाँ हैं -
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। तब हमारे फ़ंक्शन को ऑब्जेक्ट्स की एक सरणी का निर्माण करना चाहिए जिसमें प्रत्येक अद्वितीय प्रविष्टि के लिए एक ऑब्जेक्ट होता है और एक संपत्ति "गिनती" होती है जिसमें मूल सरणी में इसकी गिनती होती है।
इसलिए, उपरोक्त सरणी के लिए अंतिम आउटपुट कुछ इस तरह दिखना चाहिए -
const output = [ {'name':'California', 'count':2}, {'name':'Texas', 'count':3}, {'name':'New York', 'count':1}, {'name':'Missouri', 'count':1}, {'name':'New Mexico', 'count':1}, ];
उदाहरण
इसके लिए कोड होगा -
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California']; const findOccurrences = (arr = []) => { const res = []; arr.forEach(el => { const index = res.findIndex(obj => { return obj['name'] === el; }); if(index === -1){ res.push({ "name": el, "count": 1 }) } else{ res[index]["count"]++; }; }); return res; }; console.log(findOccurrences(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { name: 'California', count: 2 }, { name: 'Texas', count: 3 }, { name: 'New York', count: 1 }, { name: 'Missouri', count: 1 }, { name: 'New Mexico', count: 1 } ]