Как программист, вы, вероятно, столкнетесь с ситуацией, когда вам нужно будет использовать первую букву строки с заглавной буквы. В JavaScript есть много способов добиться этого, большинство из которых включают методы JavaScript String .toUpperCase()
и .charAt()
.
Метод .toUpperCase()
возвращает строку, для которой он вызывается, но преобразован для вызова символов верхнего регистра.
let greeting = “Greetings, everybody.”; console.log(greeting.toUpperCase()); // expected output: “GREETINGS, EVERYBODY.”
Однако просто использовать .toUpperCase()
в нашей строке не получится, потому что мы хотим, чтобы заглавными были только первый символ в строке, а не вся строка. Вот тут-то и пригодится .charAt()
.
Метод .charAt()
используется для возврата новой строки, состоящей из одного символа из строки, для которой он вызывается. Возвращаемый символ зависит от индекса, переданного .charAt()
в качестве аргумента. Если индекс не указан, по умолчанию используется 0
, а .charAt()
вернет первый символ строки .
let dog = “Fido”; let f = dog.charAt(0); console.log(f); //expected output: “F”
С .charAt()
и .toUpperCase()
мы теперь можем использовать первую букву любой строки с заглавной буквы. Однако нам нужно будет использовать метод .slice()
, чтобы объединить остальные непреобразованные буквы строки. Метод .slice()
возвращает неглубокую копию строки или массива, начинающуюся и заканчивающуюся указанными индексами. Если второй аргумент не указан, то срез берется от указанного начального индекса до конца строки или массива.
let hello = “hello there.” let capitalized = hello.charAt(0).toUpperCase() + hello.slice(1) console.log(capitalized) // expected output: “Hello there.”
Для этой цели метод substring()
может использоваться взаимозаменяемо с методом .slice()
. Если какой-либо из аргументов substring()
- NaN, они будут рассматриваться как 0
.
let goodbye = “goodbye friends.” let capitalized = goodbye.charAt(0).toUpperCase() + goodbye.substring(1) console.log(capitalized) // expected output: “Goodbye friends.”
Наконец, метод .charAt()
можно полностью опустить и вместо этого заменить на []
и индекс символа, который вы хотите сделать в верхнем регистре.
let snack = “almonds” let capitalizedSnack = snack[0].toUpperCase() + snack.substring(1). console.log(capitalizedSnack) // expected output “Almonds”
Первая буква каждого слова с заглавной буквы
Часто во время технических собеседований задают вопрос о создании функции, которая будет использовать первую букву каждого слова в строке с заглавной буквы. С помощью приведенных выше примеров решение этой проблемы является относительно простым и легким делом.
Первый шаг - это split
строка в массив, разделенный пробелами (" ")
, после чего создается новая переменная с именем capitalizedWords
и устанавливается равной пустому массиву.
Затем мы будем использовать for loop
для итерации по нашему только что разделенному массиву. Внутри for loop
мы будем использовать первый символ текущего элемента с заглавной буквы, объединим остальную часть слова и push
все это в массив capitalizedWords
.
Чтобы завершить функцию, мы вернем capitalizedWords
массив и join
обратно в строку за пределами for loop
.
Заключение
Как программист использование заглавной буквы в первой букве строки - это концепция, с которой вы, несомненно, столкнетесь, будь то в своем собственном проекте или во время технического собеседования. Эта концепция упрощается благодаря комбинации таких методов JavaScript, как .toUpperCase()
, .charAt()
, .slice()
и .substring()
.