मान लीजिए, हमारे पास एक सरणी स्ट्रिंग है जिसमें कुछ डुप्लिकेट प्रविष्टियां हैं जैसे -
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी लेता है। हमारा फ़ंक्शन फिर ऑब्जेक्ट्स की एक सरणी बनानी चाहिए जिसमें प्रत्येक अद्वितीय प्रविष्टि के लिए एक ऑब्जेक्ट और एक "count" गुण हो जो मूल सरणी में इसकी गिनती रखता हो।
इसलिए, उपरोक्त सरणी के लिए अंतिम आउटपुट इस तरह दिखना चाहिए -
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 } ]