हमारे पास संख्या/स्ट्रिंग लिटरल की एक सरणी है जिसमें कुछ मान हैं (कुछ दोहराव वाले भी)। हमारा काम एक फ़ंक्शन लिखना है जो सरणी से वह तत्व लौटाता है जो सरणी में सबसे अधिक बार प्रकट होता है।
उदाहरण के लिए - यदि इनपुट सरणी है:
const input = ['a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j', 'a'];
तो आउटपुट होना चाहिए:
'a'
क्योंकि 'a' अधिकतम बार दोहराया जाता है।
आइए इसके लिए कोड लिखते हैं। हम मिलने वाले सभी तत्वों और उनकी गिनती पर नज़र रखने के लिए एक Map() का उपयोग करेंगे, और अंत में अधिकतम गिनती वाले तत्व को लौटाएँगे:
उदाहरण
const input = ['m', 'a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j', 'a'];
const findMaximum = arr => {
const map = arr.reduce((acc, val) => {
let count = acc.get(val);
if (count) {
acc.set(val, ++count);
} else {
acc.set(val, 1);
}
return acc;
}, new Map());
return Array.from(map).reduce((acc, val) => {
if (val[1] > acc[1]) {
return val;
}
return acc;
}, [0, 0])[0];
};
console.log(findMaximum(input));
आउटपुट
a
a