Can’t understand why the following function works for some strings an didn’t work for some which has a similar character like the first.
const change = (str,y) => (str.toLowerCase().replace(str[y],str[y].toUpperCase()));
console.log(change('London',3)); //lonDon
console.log(change('Lagos',3)); //lagOs
console.log(change('Germany',3)); //gerMany
console.log(change('Dcoder',3)); //Dcoder
console.log(change('Bobby',3)); //BobbyAdvertisement
Answer
The function String.prototype.replace replaces the first occurrence when the first argument is a string.
You can split the string change the index to uppercase and finally join the chars.
const change = (str, y) => {
const lowercase = str.toLowerCase().split("");
lowercase[y] = str[y].toUpperCase();
return lowercase.join("");
};
console.log(change('London',3));
console.log(change('Lagos',3));
console.log(change('Germany',3));
console.log(change('Dcoder',3));
console.log(change('Bobby',3));