2013-07-29 6 views
3

JS 초보자는 여기에 있습니다. 조건에 따라 문자열의 각 요소를 변경하는 기본 프로그램을 작성하려고합니다. 문자가 대문자 인 경우 문자를 소문자로 바꾸고 문자가 이미 소문자이면 대문자로 바꿉니다. 왜 이것이 작동하지 않습니까? 감사!JavaScript - 문자열 요소를 변경하는 방법?

function SwapCase(str){ 

for (var i = 0; i < str.length; i++) { 
    if (str.charAt(i)===str.charAt(i).toUpperCase()) { 
     str.charAt(i).toLowerCase(); 
    } else{} 
     str.charAt(i).toUpperCase(); 
    } 

return str; 

} 

SwapCase("gEORGE"); 
+2

'else'가 즉시 닫힙니다. 맞습니까? –

+0

죄송합니다. 문제가 아닌 것 같지만 수정 될 것입니다. 좋은 눈! – user2623706

답변

6

현재 변경 사항을 다시 기록하지 않습니다. 당신은, 예를 들어, 다음과 같이 뭔가를 할 수 :

function SwapCase(str){ 

    var result = ''; 

    for (var i = 0; i < str.length; i++) { 
    if (str.charAt(i)===str.charAt(i).toUpperCase()) { 
     result += str.charAt(i).toLowerCase(); 
    } else{ 
     result += str.charAt(i).toUpperCase(); 
    } 
    } 

    return result; 

} 
+0

가, 그것을 다시 때려. :) – FrostbiteXIII

+0

그것은 일했다! 고마워요 Sirko :) – user2623706

1
function SwapCase(str){ 
var sReturn = ""; 
for (var i = 0; i < str.length; i++) { 
    if (str.charAt(i)===str.charAt(i).toUpperCase()) { 
     sReturn += str.charAt(i).toLowerCase(); 
    } else{ 
     sReturn += str.charAt(i).toUpperCase(); 
    } 
} 
return sReturn; 

} 
+0

불행히도 귀하의 코드는 Sirko와 동일합니다, 2 분 만에 맞습니다 ... – AngelWarrior

1

문자열 프로토 타이핑 및 일부 속기 표기법과 같은 일을하고.

String.prototype.swapCase = function(){ 
    var returnString = ''; 
    for (var i = 0; i < this.length; i++) { 
     returnString += (this[i]===this[i].toUpperCase()) 
     ? this[i].toLowerCase() 
     : this[i].toUpperCase(); 
    } 
    return returnString; 
}; 

console.log("Hallo".swapCase()); 
관련 문제