【问题标题】:Javascript .toLowerCase/.toUpperCase in mixed modeJavascript .toLowerCase/.toUpperCase 混合模式
【发布时间】:2013-12-19 09:05:41
【问题描述】:

我尝试编写一些函数。我想更改每个第二个字母.toUpperCase。我让它与str.char[0].toUpperCase一起工作,但必须手动处理整个字符数(char[0],char[1],char[2])等等。

有人可以帮我解决一个数组,它可以像这样转换给定的字符串: teststring 至:tEsTsTrInG

我的问题是构建一个数组,它获取给定字符串的每个第二个字母并更改它.toUpperCase

【问题讨论】:

    标签: javascript mode uppercase lowercase mixed


    【解决方案1】:

    怎么样

    // Returns string
    function fancyString(arg){
        var ret, low, upp, i;
        low = arg.toLowerCase();
        upp = arg.toUpperCase();
        for(i=0,ret="";i<arg.length;i++){
            ret += (i%2)===0 ? low[i] : upp[i];
        }
        return ret;
    };
    

    【讨论】:

      【解决方案2】:

      看这个:

      function convert(str)
      {
          str = str.split('');
          for(var i=0, len=str.length;i<len;i++)
          {
             if(i%2)str[i] = str[i].toUpperCase();
          }
          return str.join('');
      }
      

      http://jsfiddle.net/rooseve/sf3PR/

      【讨论】:

        【解决方案3】:

        您可以将 JS 字符串视为类似“数组”的结构:

        function toCamelCase(string){
          // if passed a null string
          if(!string){
            return '';
          }
          var newString = '';
          for( var c = 0; c < string.length; c++){
        
            newString += c % 2 ? string[c].toLowerCase() : string[c].toUpperCase();
        
          }
          return newString;
        }
        

        【讨论】:

          【解决方案4】:

          你可以用这个淫秽的正则表达式来做到这一点:

          var str = 'teststring';
          
          str = str.replace(/(.)(.)/g, function(_,a,b){
            return a + b.toUpperCase();
          });
          
          console.log(str); //=> tEsTsTrInG
          

          【讨论】:

            猜你喜欢
            • 2019-03-30
            • 2020-06-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-08
            • 2013-07-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多