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

जावास्क्रिप्ट में सरणी तत्वों को पुनर्व्यवस्थित करना

<घंटा/>

समस्या

जावास्क्रिप्ट फ़ंक्शन जो पहले और एकमात्र तर्क के रूप में शाब्दिक, गिरफ्तारी की एक सरणी लेता है। इस सरणी में कुछ डुप्लीकेट पास में रखे गए हैं।

हमारे फ़ंक्शन को सरणी के तत्वों को इस तरह पुनर्व्यवस्थित करना चाहिए कि सरणी में कोई भी दो तत्व समान न हों। हमारे फ़ंक्शन को पुनर्व्यवस्थित सरणी वापस करनी चाहिए, यह देखते हुए कि यह गारंटी है कि ऐसी व्यवस्था का कम से कम एक संभावित तरीका मौजूद है।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [7, 7, 7, 8, 8, 8];

तब आउटपुट होना चाहिए -

const output = [7, 8, 7, 8, 7, 8];

आउटपुट स्पष्टीकरण:

अन्य सही संभावित पुनर्व्यवस्था भी हो सकती हैं।

उदाहरण

इसके लिए कोड होगा -

const arr = [7, 7, 7, 8, 8, 8];
const rearrangeArray = (arr = []) => {
   const map = arr.reduce((acc, val) => {
      acc[val] = (acc[val] || 0) + 1 return acc;
   }, {});
   const keys = Object.keys(map).sort((a, b) => map[a] - map[b]);
   const res = [];
   let key = keys.pop();
   for(let i = 0; i < arr.length; i += 2){
      if(map[key] <= 0){
         key = keys.pop();
      };
      map[key] -= 1;
      res[i] = Number(key);
   };
   for(let i = 1; i < arr.length; i += 2){
      if(map[key] <= 0){
         key = keys.pop();
      };
      map[key] -= 1;
      res[i] = Number(key);
   };
   return res;
};
console.log(rearrangeArray(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

[ 8, 7, 8, 7, 8, 7 ]

  1. जावास्क्रिप्ट array.flatMap ()

    जावास्क्रिप्ट की array.flatMap () विधि का उपयोग इनपुट सरणी तत्व को एक नए सरणी में समतल करने के लिए किया जाता है। वाक्य रचना इस प्रकार है - array.flatMap(function callback(current_value, index, Array)) आइए अब जावास्क्रिप्ट में array.flatMap() विधि को लागू करें - उदाहरण <!DOCTYPE html> <h

  1. जावास्क्रिप्ट ऐरे स्लाइस ()

    एक सरणी में चयनित तत्वों को वापस करने के लिए जावास्क्रिप्ट की स्लाइस () विधि का उपयोग किया जाता है। वाक्य रचना इस प्रकार है - array.slice(start, end) ऊपर, प्रारंभ पैरामीटर एक पूर्णांक है जो निर्दिष्ट करता है कि चयन कहां से शुरू करना है, जबकि अंत वह है जहां चयन समाप्त होता है। आइए अब जावास्क्रिप्

  1. जावास्क्रिप्ट सरणी। मान ()

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें किसी दिए गए सरणी के सभी मान होते हैं। array.values() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"