লোয়ারকেস স্ট্রিংকে রিভার্স অ্যালফাবেটিক্যাল অর্ডারে সোর্ট করা (z → a)।
উদাহরণ
"hello" → "ollhe"
সমাধান
const reverseSort = (str) => {
return str
.split('')
.sort((a, b) => b.localeCompare(a)) // বা b > a ? -1 : 1
.join('');
};
// কাস্টম কম্পারেটর
const reverseSortCustom = (str) => {
return str
.split('')
.sort((a, b) => {
if (a < b) return 1; // b আগে যাবে
if (a > b) return -1; // a আগে যাবে
return 0;
})
.join('');
};
// টেস্ট
console.log(reverseSort('hello')); // "ollhe"
console.log(reverseSort('javascript')); // "vtsrjipaa"
console.log(reverseSort('abc')); // "cba"
লোকেল কম্পারিজন
// বাংলা/ইউনিকোড সাপোর্ট
const reverseSortUnicode = (str) => {
return [...str].sort((a, b) => b.localeCompare(a)).join('');
};
console.log(reverseSortUnicode('বাংলা')); // "লানবা"
নোট
মূল কোডের কম্পারেটর ফাংশনে বাগ ছিল। সঠিক কম্পারেটর:
// ভুল: return legend[+(a < b)]; // [-1, 0, 1][true=1] = 0 ❌ // সঠিক: return b.localeCompare(a); // বা const sorter = (a, b) => (a < b) ? 1 : (a > b) ? -1 : 0;
উৎপাদন
ollhe