স্ট্রিংয়ের সব বড় হাতের অক্ষরকে ছোট হাতের এবং ছোট হাতেরকে বড় হাতের করতে কনভার্ট করা।
উদাহরণ
Input: 'The Case OF tHis StrinG Will Be FLiPped' Output: 'tHE cASE of ThIS sTRINg wILL bE flIpPED'
সমাধান ১: ASCII কোড ম্যানিপুলেশন
const flipCase = (str) => {
let result = '';
const CASE_DIFF = 32; // 'a' - 'A' = 32
for (const char of str) {
const code = char.charCodeAt(0);
if (code >= 65 && code <= 90) { // A-Z
result += String.fromCharCode(code + CASE_DIFF);
} else if (code >= 97 && code <= 122) { // a-z
result += String.fromCharCode(code - CASE_DIFF);
} else {
result += char; // নন-অ্যালফাবেটিক অক্ষর অপরিবর্তিত
}
}
return result;
};
সমাধান ২: বিল্ট-ইন মেথড (সুপারিশ করা)
const flipCaseBuiltIn = (str) => {
return str.split('').map(char => {
if (char === char.toUpperCase()) {
return char.toLowerCase();
} else {
return char.toUpperCase();
}
}).join('');
};
// আরও সংক্ষিপ্ত
const flipCaseShort = (str) =>
[...str].map(c => c === c.toUpperCase() ? c.toLowerCase() : c.toUpperCase()).join('');
তুলনা
| পদ্ধতি | প্রস | কন্স |
|---|---|---|
| ASCII ম্যানিপুলেশন | দ্রুত, কোনো লোকালে ইশ্যু নেই | শুধু ASCII, ইউনিকোড সাপোর্ট করে না |
| toUpperCase/toLowerCase | ইউনিকোড সাপোর্ট, রিডেবল | কিছুটা স্লোয়ার, লোকালে সেনসিটিভ |
টেস্ট
const str = 'The Case OF tHis StrinG Will Be FLiPped'; console.log(flipCase(str)); console.log(flipCaseBuiltIn(str)); // উভয়ই: tHE cASE of ThIS sTRINg wILL bE flIpPED
উৎপাদন
tHE cASE of ThIS sTRINg wILL bE flIpPED