हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है जिसमें कुछ दोहराई जाने वाली संख्याएं हो सकती हैं।
फ़ंक्शन को सरणी को इस तरह से सॉर्ट करना चाहिए कि कम से कम बार दोहराए जाने वाले तत्व पहले दिखाई दें और उसके बाद बढ़ती आवृत्ति वाले तत्व दिखाई दें।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr = [1,1,2,2,2,3];
फिर क्रमबद्ध सरणी होनी चाहिए -
const output = [3,1,1,2,2,2];
उदाहरण
const arr = [1, 1, 2, 2, 2, 3]; const frequencySort = (arr = []) => { let map = {}; for (let i = 0; i < arr.length; i++) { map[arr[i]] = (map[arr[i]] || 0) + 1; }; return arr.sort((a,b) => map[a] - map[b] || b - a); }; frequencySort(arr); console.log(arr);
आउटपुट
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
[ 3, 1, 1, 2, 2, 2 ]