हमारे पास संख्याओं की एक सरणी है जिसमें समान प्रविष्टियां हैं। हमें एक ऐसा फ़ंक्शन लिखना है जो सरणी में लेता है और सभी समान प्रविष्टियों को एक उप-सरणी में समूहित करता है और इस प्रकार बनाई गई नई सरणी देता है।
उदाहरण के लिए:यदि इनपुट ऐरे है -
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 ] ]