हमारे पास संख्याओं की एक सरणी है जिसमें समान प्रविष्टियाँ हैं। हमें एक फ़ंक्शन लिखना आवश्यक है जो सरणी लेता है और सभी समान प्रविष्टियों को एक उपसरणी में समूहित करता है और इस प्रकार बनी नई सरणी लौटाता है।
उदाहरण के लिए: यदि इनपुट सरणी है:
const arr = [234, 65, 65, 2, 2, 234];
// तब आउटपुट होना चाहिए:
const output = [[234, 234], [65, 65], [2, 2]];
हम पहले से घटित तत्वों का ट्रैक रखने के लिए एक Hashmap का उपयोग करेंगे और एक for लूप का उपयोग करके सरणी पर पुनरावृति करेंगे।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं:
उदाहरण
इसका कोड निम्नलिखित होगा:
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{
// push विधि सरणी की नई लंबाई लौटाती है
// और नए डाले गए तत्व का सूचकांक लंबाई-1 होता है
map[arr[i]] = group.push([arr[i]])-1;
}
};
return group;
}
console.log(groupArray(arr));
आउटपुट
कंसोल में आउटपुट होगा:
[ [ 234, 234 ], [ 65, 65 ], [ 2, 2 ] ]