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