मान लीजिए, हमारे पास संख्याओं की एक सरणी है जिसमें समान प्रविष्टियाँ हैं। हमें एक ऐसा फ़ंक्शन लिखना है जो सरणी में लेता है और सभी समान प्रविष्टियों को एक उप-सरणी में समूहित करता है और इस प्रकार बनाई गई नई सरणी देता है।
उदाहरण के लिए:यदि इनपुट ऐरे है -
const arr = [234, 65, 65, 2, 2, 234];
तब आउटपुट होना चाहिए -
const output = [[234, 234], [65, 65], [2, 2]];
हम पहले से मौजूद तत्वों का ट्रैक रखने के लिए हैशमैप का उपयोग करेंगे और लूप का उपयोग करके सरणी पर पुनरावृति करेंगे।
उदाहरण
निम्नलिखित कोड है -
const arr = [234, 65, 65, 2, 2, 234]; const groupArray = arr => { const map = {}; const group = []; for(let i = 0; i < arr.length; i++){ if(typeof map[arr[i]] === 'number'){ group[map[arr[i]]].push(arr[i]); }else{ //the push method returns the new length of array //and the index of newly pushed element is length-1 map[arr[i]] = group.push([arr[i]])-1; } }; return group; } console.log(groupArray(arr));
आउटपुट
यह कंसोल में निम्न आउटपुट उत्पन्न करेगा -
[ [ 234, 234 ], [ 65, 65 ], [ 2, 2 ] ]