【问题标题】:Convert LoverCase to UpperCase and converse (JavaScript)将小写转换为大写并反转 (JavaScript)
【发布时间】:2016-07-29 17:20:12
【问题描述】:

有一个字符串,例如 = 'fGvB233k;' 需要结果 = 'FgVb233K;'

<script>
        var str ='fGvb233k;';
        var res;
        var i;
        for (i=0; i < str.length; i++) {
            if (str[i] === str[i].toUpperCase())
            {
            str[i] = str[i].toLowerCase() ; 
            console.log(str[i]);
            }
            else {
             str[i] = str[i].toUpperCase() ;     

            }
        };
        console.log(str);
    </script>

我的脚本不起作用.... 脚本结果: G 乙 2 3 3 ;

【问题讨论】:

  • 在 for 循环之前声明 var i
  • ^^ 与此无关。你不能改变一个字符串,你需要创建一个新的
  • 已添加但仍无法正常工作(
  • john 看看我下面的回答,var 没关系
  • 谢谢!一切正常!

标签: javascript string uppercase lowercase


【解决方案1】:

示例:JSBin 您不能更改创建新字符串所需的字符串:

var swapCase = function(letters){
    var str = "";
    for(var i = 0; i<letters.length; i++){
        if(letters[i] === letters[i].toLowerCase()){
            str += letters[i].toUpperCase();
        }else {
            str += letters[i].toLowerCase();
        }
    }
    console.log(str);
    return str;
};

【讨论】:

    【解决方案2】:
    var str ='Aren;';
    var res = "";
    for (let i=0; i < str.length; i++) {
         if(str[i] === str[i].toUpperCase())
         {
            res += str[i].toLowerCase();
         }
         else {
            res += str[i].toUpperCase();
         }
    }
    // see the result's output
    console.log(res);
    

    试试这个;

    看不到结果的原因是字符串是不可变的字符数组 你需要创建类似“字符串生成器”的东西,然后“构建”你的字符串

    【讨论】:

      【解决方案3】:

      据我所知,您正在尝试将所有小写字符串更改为大写字符串,反之亦然。

      `<script>
      var str = 'fGvB233k', char='', result = '';
      var i=0;
      
      while (i <= str.length) {
          char = str.charAt(i);
      
          if (!isNaN(char * 1)) {
              result += char;
          }
          else {
              if (char === char.toUpperCase()) {
                  result  += char.toLowerCase();
              }
              if (char === char.toLowerCase()) {
                  result += char.toUpperCase();
              }
          }
          i++;
      }
      console.log(result);
      </script>`
      请注意,我还检查了数字和

      【讨论】:

        【解决方案4】:

        您必须将更改存储到新变量中,因为您不能改变字符串

          var input ='fGvb233k;';
          var output = '';
        
          for (var i=0; i < input.length; i++) {
            if (input[i] === input[i].toUpperCase())
            {
              output += input[i].toLowerCase() ; 
        
            }
            else {
              output += input[i].toUpperCase() ;     
        
            }
          };
          console.log(output);
        

        【讨论】:

        • 为什么投反对票?这与被接受的解决方案几乎完全相同。
        猜你喜欢
        • 2016-02-24
        • 2017-01-26
        • 1970-01-01
        • 2011-07-21
        • 2022-01-24
        • 2019-05-15
        • 1970-01-01
        • 2011-10-29
        • 1970-01-01
        相关资源
        最近更新 更多