Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में तत्वों की बढ़ती आवृत्ति के अनुसार सरणी क्रमबद्ध करना


हमें एक JavaScript फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में शाब्दिक मूल्यों की एक सरणी लेता है।

सरणी में कई दोहराव वाले मान होने की संभावना है। हमारे फ़ंक्शन को सरणी को इस तरह क्रमबद्ध करना चाहिए कि जो मान अद्वितीय हैं या जिनकी आवृत्ति सबसे कम है, वे सबसे अधिक आवृत्ति वाले मानों से पहले रखे जाएं।

उदाहरण के लिए -

यदि इनपुट सरणी है -

const arr = [4, 7, 3, 5, 5, 4, 7, 9, 2, 1, 5, 7, 5, 5, 9];

तो आउटपुट सरणी होनी चाहिए -

const output = [
  3, 2, 1, 9, 9, 4,
  4, 7, 7, 7, 5, 5,
  5, 5, 5
];

उदाहरण

निम्नलिखित कोड देखें:

const arr = [4, 7, 3, 5, 5, 4, 7, 9, 2, 1, 5, 7, 5, 5, 9];

const sortByNumbers = (arr = []) => {
  const map = {};
  const res = [];
  for (let i = 0; i < arr.length; i++) {
    map[arr[i]] = map[arr[i]] || [0];
    map[arr[i]][0]++;
    map[arr[i]][1] = arr[i];
  }
  const sorted = Object.values(map).sort((a, b) => {
    if (a[0] === b[0]) {
      return b[1] - a[1];
    }
    return a[0] - b[0];
  });
  for (let i = 0; i < sorted.length; i++) {
    const [freq, num] = sorted[i];
    for (let j = 0; j < freq; j++) {
      res.push(num);
    }
  }
  return res;
};

console.log(sortByNumbers(arr));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

[
  3, 2, 1, 9, 9, 4,
  4, 7, 7, 7, 5, 5,
  5, 5, 5
]

  1. - JavaScript में सरणी के तत्वों को पुनर्व्यवस्थित करना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है। सरणी arr हमेशा सम लंबाई की होगी। हमारे फ़ंक्शन को true वापस करना चाहिए यदि और केवल यदि इसे पुनः क्रमबद्ध करना संभव है जैसे कि arr[2 * i + 1] = 2 * arr[2 * i] हर 0 <= i < length(arr

  1. - JavaScript में तत्वों की बढ़ती आवृत्ति के आधार पर सरणी को सॉर्ट करना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है। सरणी arr में डुप्लिकेट हो सकते हैं। हमारा फ़ंक्शन सरणी को इस तरह सॉर्ट करना चाहिए कि कम बार आने वाले तत्व पहले आएं, फिर बढ़ती आवृत्ति के क्रम में। यदि दो तत्व समान बार आते हैं, तो उन्हें बढ़

  1. - Python में तत्वों की बढ़ती फ्रीक्वेंसी के अनुसार सरणी सॉर्ट करें

    मान लीजिए हमारे पास कुछ तत्वों वाली एक सरणी है जहां तत्व कई बार दिखाई दे सकते हैं। हमें सरणी को इस तरह सॉर्ट करना है कि तत्व उनकी फ्रीक्वेंसी की वृद्धि के अनुसार सॉर्ट हों। तो जो तत्व कम बार आता है वह पहले आएगा और इसी तरह। इसलिए, यदि इनपुट है: nums = [1,5,3,1,3,1,2,5], तो आउटपुट [2, 5, 5, 3, 3, 1,