मान लीजिए, हमें एक ऐसा फ़ंक्शन लिखना है जो संख्याओं और संख्या n की एक सरणी लेता है, जहां n> =सरणी की कोई भी संख्या। यदि सरणी के लगातार तत्वों का योग संख्या n से अधिक है, तो सरणी को उप-सरणी में तोड़ने के लिए फ़ंक्शन की आवश्यकता होती है।
उदाहरण के लिए -
// यदि मूल सरणी है:const arr =[2, 1, 2, 1, 1, 1, 1, 1];// और संख्या n 4// है तो आउटपुट सरणी होनी चाहिए:const आउटपुट =[ [ 2, 1], [2, 1, 1], [1, 1, 1]];
आइए इस फ़ंक्शन के लिए कोड लिखें -
उदाहरण
const arr =[2, 1, 2, 1, 1, 1, 1, 1]; const splitArray =(arr, num) => {रिटर्न arr.reduce((acc, val, ind) => { चलो {योग, रेस} =एसीसी; अगर (इंड ===0) {वापसी {योग:वैल, रेस:[[वैल]]}; }; अगर (योग + वैल <=संख्या) {रेस [रेस लंबाई -1]। पुश (वैल); योग + =वैल;} और {रेस.पुश ([वैल]); योग =वैल; }; वापसी {योग, रेस}; }, {योग:0, रेस:[] }).res;};console.log(splitArray(arr, 4));console.log(splitArray(arr, 5));
आउटपुट
कंसोल में आउटपुट होगा -
[ [ 2, 1 ], [ 2, 1, 1], [ 1, 1, 1 ] [[ 2, 1, 2 ], [ 1, 1, 1, 1 ] ]>