हमें एक JavaScript फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक एकल संख्या, जैसे num लेता है। संख्या हमेशा सरणी की लंबाई से कम या उसके बराबर होगी।
फ़ंक्शन को एक नई सरणी तैयार करनी चाहिए जिसमें उप-सरणियों की संख्या होनी चाहिए। यदि सरणी की लंबाई संख्या से बिल्कुल विभाज्य है, तो सभी उप-सरणी में समान संख्या में सरणियाँ होनी चाहिए अन्यथा केवल अंतिम उप-सरणी में अलग-अलग संख्या में तत्व होने चाहिए।
उदाहरण के लिए -
अगर इनपुट ऐरे और नंबर हैं -
const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const num = 3;
इसलिए, उपरोक्त इनपुट के लिए आउटपुट इस तरह दिखना चाहिए -
const output = [ [1, 2, 3], [4, 5, 6], [7, 8] ];
उदाहरण
इसके लिए कोड होगा -
const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const num = 3; const chunkArray = (arr = [], num = 1) => { const { length: l } = arr; const elPerArr = Math.ceil(l / num); const res = arr.reduce((acc, val, ind) => { const curr = Math.floor(ind / elPerArr); if(!acc[curr]){ acc[curr] = [val]; }else{ acc[curr].push(val); } return acc; }, []); return res; }; console.log(chunkArray(arr, num));
आउटपुट
और कंसोल में आउटपुट होगा -
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ]