मान लीजिए, हमें एक फ़ंक्शन क्लासिफ़ाइअरे () लिखना है जो एक सरणी लेता है जिसमें मिश्रित डेटा प्रकार होते हैं और एक मानचित्र () लौटाते हैं जिसमें उनके डेटा प्रकारों द्वारा समूहित तत्व होते हैं।
उदाहरण के लिए -
// if the input array is: const arr = ['class', 2, [7, 8, 9], {"name": "Michael"}, Symbol('foo'), true, false, 'name', 6]; // then the output Map should be: 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 ] }