मान लीजिए हमें एक फ़ंक्शन classifyArray() लिखना है जो मिश्रित डेटा प्रकारों वाली एक सरणी लेता है और एक Map() लौटाता है जिसमें तत्व उनके डेटा प्रकारों के अनुसार समूहीकृत हों।
उदाहरण के लिए:
// यदि इनपुट सरणी है:
const arr = ['class', 2, [7, 8, 9], {"name": "Michael"}, Symbol('foo'), true, false, 'name', 6];
// तो आउटपुट Map होना चाहिए:
Map(5) {
'string' => ['class', 'name'],
'number' => [2, 6],
'object' => [[7, 8, 9], {name: 'Michael'}],
'symbol' => [Symbol(foo)],
'boolean' => [true, false]
}
अब इस फ़ंक्शन के लिए कोड लिखते हैं:
उदाहरण
const arr = ['class', 2, [7, 8, 9], {"name": "Michael"}, Symbol('foo'), true, false, 'name', 6];
const classifyArray = arr => {
return arr.reduce((acc, val) => {
const previousData = acc.get(typeof val);
if (previousData) {
acc.set(typeof val, [...previousData, val]);
} else {
acc.set(typeof val, [val]);
}
return acc;
}, new Map());
};
console.log(classifyArray(arr));
आउटपुट
कंसोल में आउटपुट होगा:
Map(5) {
'string' => ['class', 'name'],
'number' => [2, 6],
'object' => [[7, 8, 9], {name: 'Michael'}],
'symbol' => [Symbol(foo)],
'boolean' => [true, false]
}