First trial didn't work because string is immutable.
function LetterChanges(str) {
// want c->d & z->a; a,e,i,o,u capitalized
for(i=str.length-1;i>=0;i--){
if(str[i]=="c"){str[i]="d"}
if(str[i]=="z"){str[i]="a"}
if(str[i]=="a"||"e"||"i"||"o"||"u"){str[i]=str[i].toUpperCase()}
}
return str;
}
LetterChanges("I love you, Catz") // should return "AtAD ,UOy EvOl I"
Second trial: WHY DOES IT CAPITALIZE EVERYTHING? It should capitalize vowels only.
function LetterChanges(str) {
var changed = ""
// c->d & z->a; a,e,i,o,u capitalized
for(i=str.length-1;i>=0;i--){
if(str[i]=="c"){changed+="d"}
else if (str[i]=="C"){changed+="D"}
else if(str[i]=="z"){changed+="a"}
else if(str[i]=="Z"){changed+="A"}
else if(str[i]=="a"||"e"||"i"||"o"||"u"){changed+=str[i].toUpperCase()}
else {changed+=str[i]}
}
return changed;
}
LetterChanges("CapuoZ") // should return "AOUpAD" but instead it returns "AOUPAD", capitalizing non-vowels.