# How to Capitalize a Word in JavaScript
Back to another round of Pictorials, where we solve popular algorithm challenges step-by-step with tidbits. Today, let's learn how to capitalize a word!
Here are the 4 methods I'll be covering:
☝️ Click more on the methods if you want to learn more. They're covered in my Web Basics series 👩🏻🏫
# The Challenge
Write a function that capitalize a string.
# 1. toLowerCase()
 Unfortunately in JavaScript, there isn't a capitalize or title case a string. So what we can is utilize toLowerCase() to make the entire string lower-cased and then uppercase the first letter.
Convert the entire string to lower case.
# 2. charAt()
 Let's access the first letter of our string so we can uppercase it later.
Get the first character of the string
# 3. toUpperCase()
 Great! Now we can uppercase that first letter.
Transform the first character to upper case
# 4. slice()
 So there's 2 part of our string to complete our capitalization. The first letter which has been upper-cased and we got that with charAt(). Next we need the rest of our letters. And we can extract using .slice().
Extract the entire string except the first letter
# 3. +
 Alright, we have all the pieces. Next, we need to put it together. We can use our + operator to combine strings.
Combine the strings
# Final Solution
Awesome! We have successfully capitalize our string 🥳
# More Solutions
Using charAt
function capitalize(word) {
  const lower = str.toLowerCase();
  return str.charAt(0).toUpperCase() + lower.slice(1);
}
Using Bracket Notation
function capitalize(word) {
  return word[0].toUpperCase() + word.slice(1).toLowerCase();
}
Using substring
function capitalize(word) {
  return word[0].toUpperCase() + word.substring(1).toLowerCase();
}
Using 2 steps
function capitalize(word) {
  const loweredCase = word.toLowerCase();
  return word[0].toUpperCase() + loweredCase.slice(1);
}
Using Rest parameter
function capitalize([first, ...rest]) {
  return first.toUpperCase() + rest.join('').toLowerCase();
}
Using Map
function capitalize(word) {
  return word
    .split('')
    .map((letter, index) =>
      index ? letter.toLowerCase() : letter.toUpperCase(),
    )
    .join('');
}
Using Regex
function capitalize(word) {
  return word
    .toLowerCase()
    .replace(/\w/, firstLetter => firstLetter.toUpperCase());
}
Know other solutions? Submit it here






