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

जावास्क्रिप्ट में एक सरणी को विखंडू में विभाजित करना

<घंटा/>

हमें एक फ़ंक्शन लिखने की आवश्यकता है, मान लें कि खंड () जो पहले तर्क के रूप में स्ट्रिंग / संख्या शाब्दिक की एक सरणी गिरफ्तारी लेता है और दूसरे तर्क के रूप में एक संख्या n लेता है।

हमें n उप-सरणी की एक सरणी वापस करने की आवश्यकता है, जिनमें से प्रत्येक में अधिकतम -

. शामिल हैं
arr.length / n elements.

तत्वों का वितरण इस तरह होना चाहिए -

पहला तत्व पहले सबरे में जाता है, दूसरा दूसरे में, तीसरा तीसरे में और इसी तरह। एक बार जब हमारे पास प्रत्येक उप-सरणी में एक तत्व होता है, तो हम फिर से पहले उप-सरणी को उसके दूसरे तत्व से भरना शुरू करते हैं। इसी तरह, जब सभी सबअरे में दो एलिमेंट होते हैं, उसके बाद ही हम तीसरे एलिमेंट को पहले ऐरे में भरते हैं और इसी तरह।

उदाहरण के लिए:यदि इनपुट सरणी है -

const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];

और संख्या n 3 है,

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

const output = [
   [ 656, 67, 54 ],
   [ 756, 43, 768 ],
   [ 5345, 76, 34 ]
];

इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखें -

वांछित सरणी बनाने के लिए हम मूल सरणी पर Array.prototype.reduce() विधि करेंगे।

उदाहरण

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

const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];
const divideArray = (arr, size) => {
   return arr.reduce((acc, val, ind) => {
      const subIndex = ind % size;
      if(!Array.isArray(acc[subIndex])){
         acc[subIndex] = [val];
      }else{
         acc[subIndex].push(val);
      };
      return acc;
   }, []);
};
console.log(divideArray(input, 3));

आउटपुट

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

[ [ 656, 67, 54 ], [ 756, 43, 768 ], [ 5345, 76, 34 ] ]

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

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

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

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

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

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