2016-07-29 125 views
-1

有一個字符串,例如='fGvB233k;' 需要結果='FgVb233K;'將LoverCase轉換爲UpperCase並交談(JavaScript)

<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> 

我的腳本不工作....腳本的 結果: ģ 乙;

+0

之前的聲明'VAR i' for循環 –

+0

^^有什麼關係呢。你不能改變一個字符串,你需要添加一個新的 – JordanHendrix

+0

但仍然不起作用( –

回答

3

例: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; 
}; 
-1

你必須改變存儲到一個新的變量,因爲你不能發生變異的字符串

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); 
+0

爲什麼要投票?這幾乎是接受的完全相同的解決方案。 – mcgraphix

0
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); 

試試這個;

理由,爲什麼你不能看到的結果是,字符串是字符 不可改變的數組,你需要創建一個類似「字符串生成器」,然後選擇「建立」您的字符串

0

從我所看到的,你正在嘗試將所有小寫字符串更改爲大寫字符串,反之亦然。

`<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>`
請注意,我還做了檢查的數量和