Im working on an algorithm to return the provided string with the first letter of each word capitalized. While leaving the rest of the word in lower case. Looking for some insight to why this code isn't working. Thanks.
function titleCase(str) {
let result = "";
let words = str.split(" ");
for(let i = 0; i <= words.length; i++){
let word = words[i];
for(let j = 0; j <= word.length; j++){
if(j === 0){
result += word[j].toUpperCase();
} else{
result += word[j].toLowerCase();
}
}
return result += " "
}
return result.slice(0, result.length - 1)
}
replacewith a function that focuses on each word to do the operation. A simpler approach is to use thesplit(" ").map(word => ...).join(" ")pattern. There's really no reason to do aforloop and then fumble around withlet word = words[i]. Remember:forEachexists.