I am a beginner in Javascript.
I tried to make a function about covert string into uppercase or lowercase.
But I am confused why it can get expected output.
Following is my function purpose and codes.Thank you!
When letter in string is uppercase, it will change into lowercase. When letter in string is lowercase, it will change into uppercase. For example: "Peter" will transfer into "pETER"
I can't understand why my code ends up with "Peter" rather then "pETER"
function swap(str) {
var name = ''
for (i = 0; i <= str.length - 1; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i].toUpperCase()
} else {
str[i].toLowerCase()
}
name += str[i]
}
return name
}
console.log(swap('Peter'))
I am not sure whether the problem is in this line.
if(str[i] >= 'a' && str[i] <= 'z'){
str[i].toUpperCase()
}
Can anyone help me , thanks!!
I think your problem is to think that str[i].toUpperCase() or str[i].toLowerCase() will change the value of the str[i], but it doesn't. These functions will change the char value to uppercase or lowercase and they'll return the result of the function call, but the original variable (str[i]) will remain its value.
Try with this version:
function swap(str) {
var name = ''
var string;
for (i = 0; i <= str.length - 1; i++) {
string = str[i];
if (str[i] == string.toUpperCase()) {
name += string.toLowerCase();
} else {
name += string.toUpperCase();
}
}
return name;
}
console.log(swap('PeTeR'));