ধরুন, আমাদের কাছে এইরকম স্ট্রিং দ্বারা প্রতিনিধিত্ব করা সংখ্যার একটি অ্যারে আছে −
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' ] ]