मान लीजिए, हमारे पास अक्षरों की एक सरणी है जिसमें इस तरह के कुछ दोहराए जाने वाले अक्षर शामिल हैं -
const arr = [ 'a','a','a','a','d','e','e','f','h','h','h','i','l','m','n', 'r','s','s',' t','u','v','y','y' ];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को सभी समान aphabets को उनके अद्वितीय उप-सरणी में समूहित करना चाहिए।
इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -
const output = [ ['a','a','a','a'], ['d'], ['e','e'], ['f'], ['h','h','h'], ['i'], ['l'], ['m'], ['n'], ['r'], ['s','s'], ['t'], ['u'], ['v'], ['y','y'] ];
उदाहरण
इसके लिए कोड होगा -
const arr = [ 'a','a','a','a','d','e','e','f','h','h','h','i','l','m','n','r','s','s',' t','u','v','y','y' ]; const bringAlong = (arr = []) => { const hash = {}; return arr.reduce(function(res, e) { if(hash[e] === undefined) hash[e] = res.push([e]) − 1; else res[hash[e]].push(e); return res; }, []); }; console.log(bringAlong(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ [ 'a', 'a', 'a', 'a' ], [ 'd' ], [ 'e', 'e' ], [ 'f' ], [ 'h', 'h', 'h' ], [ 'i' ], [ 'l' ], [ 'm' ], [ 'n' ], [ 'r' ], [ 's', 's' ], [ 't' ], [ 'u' ], [ 'v' ], [ 'y', 'y' ] ]