I need to make a function that reads a string input and converts the odd indexed characters in the string to upperCase and the even ones to lowerCase.
function
Strings in JavaScript are immutable, Try this instead:
function alternativeCase(string){
var newString = [];
for(var i = 0; i < string.length; i++){
if (i % 2 != 0) {
newString[i] = string[i].toUpperCase();
}
else {
newString[i] = string[i].toLowerCase();
}
}
return newString.join('');
}
RegExp alternative that handles space between characters :
const alternativeCase = s => s.replace(/(\S\s*)(\S?)/g, (m, a, b) => a.toUpperCase() + b.toLowerCase());
console.log( alternativeCase('alternative Case') )
function alternativeCase(string){
return string.split('').map(function(c,i) {
return i & 1 ? c.toUpperCase() : c.toLowerCase();
}).join('');
}
These days it's pretty safe to use ES6 syntax:
const alternativeCase = string => string.split('')
.map((c,i) => i & 1 ? c.toUpperCase() : c.toLowerCase()).join('');
Try this:
function alternativeCase(string){
var output = "";
for(var i = 0; i < string.length; i++){
if (i % 2 != 0) {
output += string[i].toUpperCase();
}
else {
output += string[i].toLowerCase();
}
}
return output;
}