हमें एक फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक-आयामी सरणी लेता है और दूसरे तर्क के रूप में एक संख्या 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' ] ]