স্ট্রিংয়ের প্রথম অক্ষর বড় হাতের হলে পুরো স্ট্রিং আপারকেস, অন্যথায় লোয়ারকেস করুন।
উদাহরণ
"This is a normal string" → "THIS IS A NORMAL STRING" "thisIsACamelCasedString" → "thisisacamelcasedstring"
সমাধান
const changeStringCase = (str) => {
if (!str || str.length === 0) return str;
const firstChar = str[0];
const isUpper = firstChar >= 'A' && firstChar <= 'Z';
return isUpper ? str.toUpperCase() : str.toLowerCase();
};
// আরো রোবাস্ট (ইউনিকোড সাপোর্ট)
const changeStringCaseRobust = (str) => {
if (!str) return str;
// প্রথম অক্ষর বড় হাতের কিনা (ইউনিকোড অ্যাওয়্যার)
const isUpper = str[0] === str[0].toUpperCase() &&
str[0] !== str[0].toLowerCase();
return isUpper ? str.toUpperCase() : str.toLowerCase();
};
// টেস্ট
console.log(changeStringCase("This is a normal string"));
// "THIS IS A NORMAL STRING"
console.log(changeStringCase("thisIsACamelCasedString"));
// "thisisacamelcasedstring"
console.log(changeStringCase("123abc"));
// "123abc" (নম্বরকে বড়/ছোট হাতের নেই)
ব্যাখ্যা
- ASCII চেক: charCodeAt(0) 65-90 এর মধ্যে
- বিল্ট-ইন মেথড: toUpperCase()/toLowerCase() ইউনিকোড হ্যান্ডেল করে
- এজ কেস: খালি স্ট্রিং, নম্বর, 스페সシャル ক্যারেক্টার
উৎপাদন
THIS IS A NORMAL STRING thisisacamelcasedstring