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

एक-आयामी सरणी को दो-आयामी सरणी में विभाजित करें जावास्क्रिप्ट

<घंटा/>

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

** यदि सरणी में 9 तत्व हैं और हमने 4 उप-सरणी बनाने के लिए कहा है, तो प्रत्येक उप-सरणी में 2 तत्वों को विभाजित करने से 5 उप-सरणी बनते हैं और प्रत्येक में 3 से 3 बनते हैं, इसलिए ऐसे मामलों में हमें निकटतम निम्नतम स्तर (इस मामले में 3) पर वापस आना होगा क्योंकि हमारी आवश्यकता कुछ विशेष मामलों में पिछले एक को छोड़कर प्रत्येक उप-सरणी में समान संख्या में तत्वों को वितरित करना है।

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

// if the input array is:
const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];
// and the number is 2
//then the output should be:
const output = [ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ];

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

उदाहरण

const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];
const splitArray = (arr, rows) => {
   const itemsPerRow = Math.ceil(arr.length / rows);
   return arr.reduce((acc, val, ind) => {
      const currentRow = Math.floor(ind / itemsPerRow);
      if(!acc[currentRow]){
         acc[currentRow] = [val];
      }else{
         acc[currentRow].push(val);
      };
      return acc;
   }, []);
};
console.log(splitArray(arr, 2));

आउटपुट

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

[ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ]

  1. जावास्क्रिप्ट में ऑब्जेक्ट बनाने के लिए स्प्लिट ऐरे एंट्रीज

    मान लीजिए, हमारे पास इस तरह के स्ट्रिंग शाब्दिकों की एक सरणी है - const arr = [    "fiat−palio",    "fiat−stilo",    "fiat−strada",    "fiat−uno",    "fiat−uno",   &

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

    मान लीजिए कि हमारे पास सरणियों की एक सरणी है जिसमें इस तरह के क्रिकेट खिलाड़ी का प्रदर्शन शामिल है - const arr = [    ['Name', 'V Kohli'],    ['Matches', 13],    ['Runs', 590],    ['Highest', 183],    ['NO&

  1. जावास्क्रिप्ट में लगातार बाद में सरणी को विभाजित कर सकते हैं

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में क्रमबद्ध पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को सत्य वापस आना चाहिए यदि और केवल यदि हम सरणी को 1 या अधिक बाद में विभाजित कर सकते हैं जैसे कि प्रत्येक अनुवर्ती में लगातार पूर्णांक होते हैं और लंबाई कम स