मान लीजिए हमारे पास नंबर्स का ऐरे है जो स्ट्रिंग्स द्वारा दर्शाए गए हैं:
const arr = ["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"];
हमें एक जावास्क्रिप्ट फंक्शन लिखना है जो ऐसा ऐरे ले और समान नंबर से शुरू होने वाली सभी स्ट्रिंग्स को एक कॉमन सबऐरे में ग्रुप करे।
इसलिए, हमारे फंक्शन का आउटपुट ऐसा दिखना चाहिए:
const output = [["1.1","1.2","1.3"],["2.1","2.2"],["3.1","3.2","3.3"],["4.1","4.2"]];
उदाहरण
इसके लिए कोड:
const arr = ["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"]; const groupSimilarStarters = arr => { let res = []; res = arr.reduce((acc, val, ind) => { const firstChar = el => { return (el || '').split('.')[0]; } if(firstChar(val) === firstChar(arr[ind - 1])){ acc[acc.length - 1].push(val); }else{ acc.push([val]); }; return acc; }, []); return res; } console.log(groupSimilarStarters(arr));आउटपुट
कंसोल में आउटपुट:
[ [ '1.1', '1.2', '1.3' ], [ '2.1', '2.2' ], [ '3.1', '3.2', '3.3' ], [ '4.1', '4.2' ] ]