Некоторые строковые методы JavaScript и как их использовать

В прошлый раз я написал статью о методах массивов JavaScript, объясняя, что делает каждый метод и как использовать их в вашем проекте (ведь нам всем приходится иметь дело с массивами каждый день нашей жизни разработчика, не так ли?).

Сегодня вы узнаете о методах строк в JavaScript и о том, как эффективно использовать их в своем проекте.

Строки? Что это такое?

Строка — это набор из одного или нескольких символов, которые могут включать буквы, цифры или символы. В JavaScript строки неизменяемы (они просто не могут изменяться, в отличие от языка программирования C). Строки являются примитивными типами данных. Другими примитивными типами данных являются: Null, Undefined, Boolean, Number, BigInt и Symbol.

В JavaScript существует около 24 методов работы со строками. В этой заметке вы узнаете, как работать с некоторыми из них (я хочу утолить ваш аппетит этими несколькими методами, чтобы вы были готовы сами проверить другие методы… ха!)

Что такое строковые методы

Когда вы работаете со строками в своем проекте, чаще всего вы хотите манипулировать ими. Методы — это встроенные функции, которые помогают нам выполнять манипуляции со строкой.

Давайте окунемся в работу и посмотрим, как мы можем использовать некоторые из этих методов, чтобы сделать наш строковый ввод таким, каким мы хотим его видеть для масштабирования нашего приложения.

charAt()

charAt() используется для получения символа в определенной позиции в строке. Да, вот и все!

const name = "EmmanuelTheCoder"
const letter = name.charAt(0);

console.log(letter)
//result: E

Вход в полноэкранный режим Выход из полноэкранного режима

Мы указали, что нам нужен символ в нулевой позиции, и получили «E».

Что если я укажу позицию, которой нет в строке?

Не волнуйтесь, JavaScript не будет кричать на вас, он только вернет пробел вместо какого-либо значения.

Вы всегда можете использовать String.length, чтобы получить длину вашей строки и узнать, какой будет последняя позиция.

Я уверен, что теперь вы поняли этот метод. Теперь переходим к следующему!

charCodeAt()

Этот метод возвращает Unicode символа в указанной позиции.

Эй, эй, эй! Притормозите на минутку. Что, черт возьми, такое Юникод?
Хе-хе. Не черт. Юникод — это международный стандарт кодирования, согласно которому каждой букве, цифре или символу присваивается уникальное числовое значение.

Достаточно сказать, что каждой букве, цифре или символу присваивается уникальное числовое значение.

Сейчас вы сами в этом убедитесь.


const name = "EmmanuelTheCoder";

const numVal = name.charCodeAt(0);

//we are simply saying what is the
// assigned encoding value for "E"

console.log("Unicode of 'E' is:" numVal)
//result: 69

Вход в полноэкранный режим Выход из полноэкранного режима

Но что если позиция, которую я указал в методе, не существует в строке?

В отличие от charAt(), charCodeAt() не простит вас, вернув пустое место. Она будет кричать на вас NaN!

endsWith()

Используется для проверки, заканчивается ли строка заданным значением. Возвращает булево значение.

const title = "EmmanuelTheCoder is a developer"
const lastWord = title.endsWith("developer")

console.log(lastWord)

//result: true

Вход в полноэкранный режим Выход из полноэкранного режима

Метод endsWith() принимает два параметра: первый — это значение, которое вы хотите проверить, а второй, необязательный, — длина строки для поиска.

const title = "EmmanuelTheCoder is a developer"
const lastWord = title.endsWith("developer",10)

console.log(lastWord)

//result: false

Вход в полноэкранный режим Выйти из полноэкранного режима

Он возвращает false, потому что слово «developer» не может быть найдено в конце первых 10 букв.

Понятно? Да, переходим к следующему методу

fromCharCode()

Этот метод преобразует значение Unicode в строку. Это как противоположность charCodeAt().

Давайте посмотрим в коде, как это работает.

const letter = String.fromCharCode(72);

console.log(letter);

//result: "H"
Вход в полноэкранный режим Выйти из полноэкранного режима

Это означает, что строковый эквивалент значения Unicode 72 — «H».

includes()

Этот метод проверяет, включает ли строка определенное значение. Он возвращает булево значение

const profile = "EmmanuelTheCoder is a developer from Africa"
const continent = profile.includes("Africa")
console.log(continent)
//result: true
Войти в полноэкранный режим Выйти из полноэкранного режима

Метод includes() может также принимать второй параметр (необязательный) для указания позиции, с которой должна начинаться проверка.

indexOf()

Используется для получения позиции первого вхождения значения в строку.

const profile = "EmmanuelTheCoder is a developer from Africa and lives in Africa"

const checkContinentPostion = profile.indexOf("Africa")

console.log(checkContinentPostion)
//result: 37

Вход в полноэкранный режим Выход из полноэкранного режима

checkContinentPosition возвращает первое вхождение Africa в строке.

Если значение не найдено в строке, возвращается -1. В качестве второго параметра можно также указать позицию, с которой следует начать поиск.

lastIndexOf()

Если вам нужно получить последнее вхождение значения в строке, то вам подойдет этот метод.
Теперь давайте поищем последнее вхождение Africa.

const profile = "EmmanuelTheCoder is a developer from Africa and lives in Africa"

const checkLastOccurenceOfAfrica = profile.lastIndexOf("Africa")

console.log(checkLastOccurenceOfAfrica)
//result: 57

Войти в полноэкранный режим Выйти из полноэкранного режима

Этот метод также может принимать второй параметр в качестве позиции, с которой нужно начать поиск.

localCompare()

Сравнивает две строки в текущей локали и возвращает:

-1, если строка отсортирована перед сравниваемой строкой
0, если две строки равны
1, если строка отсортирована после сравниваемой строки.

const text1 = "ab"
const text2 = "cd"

const compare = text1.localCompare(text2)

//result: -1
Вход в полноэкранный режим Выход из полноэкранного режима

match()

Этот метод используется для поиска значения в строке. В зависимости от того, чего вы хотите добиться, лучше всего передать в качестве параметра регулярное выражение для более точного поиска

const sentence = " I say if you will STAY in the house, you have to pay. Okay?"

const searchAValue = sentence.match(/ay/g);

console.log(searchAValue)
//result: ['ay', 'ay', 'ay']

Вход в полноэкранный режим Выйти из полноэкранного режима

Возвращает массив с совпадениями. Вы можете преобразовать этот массив в строку, выполнив searchAValue.toString(). toString() — это еще один метод, который используется для преобразования нестроки в строку.

Вы заметили, что поиск вернул не все совпадения. Это потому, что мы не указали в регулярном выражении, что глобальный поиск должен быть нечувствительным к регистру, поэтому поиск пропустил «ay» в слове «STAY». Давайте сделаем это сейчас.

const sentence = " I say if you will STAY in the house, you have to pay. Okay?"

const searchAValue = sentence.match(/ay/gi);

console.log(searchAValue)
//result: ['ay', 'AY' 'ay', 'ay']

Вход в полноэкранный режим Выход из полноэкранного режима

Я слышал, как вы сказали: «Эй, эй, эй! Не могли бы вы притормозить на минутку, чтобы я смог разобраться со всем этим?
О, да. Давайте просто сделаем еще один метод, и я обещаю сделать паузу, чтобы вы могли потренироваться. Договорились? Да!

Хорошо, давайте сократим это. Хе-хе!

trim()

Этот метод используется для удаления всех пробелов с обеих сторон строки. Обратите внимание, что он удаляет пробелы с обеих сторон, а не между строками.

const followMeOnTwitter = "   @EmmanuelCoder"
const followMePlease = followMeOnTwitter.trim()

console.log(followMePlease)
//result: '@EmmanuelCoder'

Вход в полноэкранный режим Выход из полноэкранного режима

Ура! Вы дошли до этого момента, поздравляем! Пожалуйста, идите и практикуйтесь дальше, чтобы овладеть навыками работы со строками.

Пожалуйста, поставьте этому посту лайк, а также поделитесь!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *