हमारे पास संख्याओं की एक सरणी है जिसमें कुछ अनावश्यक प्रविष्टियाँ हैं, हमारा काम एक फ़ंक्शन लिखना है जो सरणी को लेता है और सभी समान प्रविष्टियों को एक उप-सरणी में समूहित करता है और इस प्रकार बनी नई सरणी को लौटाता है।
उदाहरण के लिए:
// यदि इनपुट सरणी है: const arr = [1, 3, 3, 1]; // तो आउटपुट होना चाहिए: const output = [[1, 1], [3, 3]];
हम पहले से घटित तत्वों पर नज़र रखने के लिए एक HashMap का उपयोग करेंगे और फॉर लूप का उपयोग करके सरणी पर पुनरावृति करेंगे:
उदाहरण
const arr = [1, 3, 3, 1];
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));
आउटपुट
कंसोल में आउटपुट होगा:
[ [ 1, 1 ], [ 3, 3 ] ]