📌  相关文章
📜  资质| JavaScript课程测验3 |问题4(1)

📅  最后修改于: 2023-12-03 15:12:14.503000             🧑  作者: Mango

资质 | JavaScript课程测验3 | 问题4

问题描述

对于一个字符串,编写一个JavaScript函数将其中所有的大写字母转换成小写字母,并将其中所有的小写字母转换成大写字母。例如,对于输入字符串"Hello World",函数应该返回"hELLO wORLD"。

请编写一个名为switchCase(str)的函数,其中参数str为输入字符串,函数需返回转换后的字符串。

示例
输入:"Hello World"
输出:"hELLO wORLD"
解题思路

我们可以使用循环遍历字符串中的每一个字符,然后通过其ASCII码来进行大小写转换。

如果字符的ASCII码在大写字母的范围内,即65(A)到90(Z),则将其转换为相应的小写字母,即将其ASCII码+32;

如果字符的ASCII码在小写字母的范围内,即97(a)到122(z),则将其转换为相应的大写字母,即将其ASCII码-32;

如果字符的ASCII码不在大小写字母的范围内,则不进行转换。

最后将转换后的字符重新拼接成字符串返回即可。

代码实现
function switchCase(str) {
  var newStr = "";
  for (var i = 0; i < str.length; i++) {
    var code = str.charCodeAt(i);
    if (code >= 65 && code <= 90) {
      newStr += String.fromCharCode(code + 32);
    } else if (code >= 97 && code <= 122) {
      newStr += String.fromCharCode(code - 32);
    } else {
      newStr += str.charAt(i);
    }
  }
  return newStr;
}
测试用例
// 测试用例1
var result1 = switchCase("Hello World");
console.log(result1); // "hELLO wORLD"

// 测试用例2
var result2 = switchCase("JavaScript");
console.log(result2); // "jAVAsCRIPT"

// 测试用例3
var result3 = switchCase("123ABC");
console.log(result3); // "123abc"