Javascript предлагает несколько служебных методов, эти методы полезны для выполнения рутинных задач программирования. В этой статье мы рассмотрим некоторые служебные методы javascript с их параметрами и возвращаемыми значениями.
Подстрока
В JavaScript substring() — это строковый метод, который используется для извлечения подстроки из строки с заданными начальной и конечной позициями в строке.
Из Мозиллы:
Метод
substring()
возвращает частьstring
между начальным и конечным индексами или до конца строки.
Синтаксис:
String.substring(startIndex, endIndex);
начальный индекс
Индекс первого символа, включаемого в возвращаемую подстроку.
endIndex (необязательно)
Индекс первого символа, исключаемого из возвращаемой подстроки.
Описание
substring()
извлекает символы от startIndex
до но не включая endIndex
. В частности:
- Если
endIndex
опущено,substring()
извлекает символы в конец строки. - Если
startIndex
равноendIndex
,substring()
возвращает пустую строку. - Если
startIndex
больше, чемendIndex
, то эффектsubstring()
такой же, как если бы два аргумента поменялись местами; См. пример ниже. - Любое значение аргумента ‹ 0 обрабатывается как 0.
Любое значение аргумента, которое меньше 0
или больше stringName.length
, обрабатывается так, как если бы оно было 0
и stringName.length
соответственно.
Любое значение аргумента, равное NaN
, обрабатывается так, как если бы оно было 0
.
Примеры
const message = "JavaScript";
console.log(message.substring(0, 1)) // Displays 'J', argument will // get swap into message.substring(1, 0)
console.log(message.substring(11,8))// Display 'pt'
console.log(message.substring(8,11))// Display 'pt'
console.log(message.substring(8))// Display 'pt'
Substr //Устаревший
В JavaScript substr() — это строковый метод, который используется для извлечения подстроки из строки с заданной начальной позицией и длиной.
Из Мозиллы:
Метод
substr()
возвращает часть строки, начиная с указанного индекса и заканчивая заданным количеством символов после этого.
Синтаксис
String.substring(startIndex, длина);
начальный индекс
Позиция в строке, с которой начнется извлечение. Первая позиция в строке 0
Длина
Необязательный. Это количество символов, которое нужно извлечь из строки. Если этот параметр не указан, метод substr() будет извлекать в конец строки.
Описание
substr()
извлекает length
символов из str
, считая с позиции startIndex
.
- Если
startIndex
является неотрицательным числом, индекс начинает отсчет с начала строки. Его значение ограниченоstr.length - 1
. - Если
startIndex
является отрицательным числом, индекс начинает отсчет с конца строки. Его значение ограничено-str.length
. - Примечание. В Microsoft JScript отрицательные значения аргумента
startIndex
не считаются относящимися к концу строки. - Если
length
опущено,substr()
извлекает символы в конец строки. - Если
length
равноundefined
,substr()
извлекает символы в конец строки. - Если
length
является отрицательным числом, оно обрабатывается как0
. - И для
startIndex
, и дляlength
NaN
обрабатывается как0
.
Примеры
const message = "JavaScript";
console.log(message.substr(0, 1)); // 'J'
console.log(message.substr(1, 0)); // ''
console.log(message.substr(-1, 1)); // 't'
console.log(message.substr(1, -1)); // ''
console.log(message.substr(-3)); // 'ipt'
console.log(message.substr(1)); // 'avaScript'
Кусочек
В JavaScript slice() — это строковый метод, который используется для извлечения подстроки из строки.
Из Мозиллы:
Метод
slice()
извлекает часть строки и возвращает ее как новую строку без изменения исходной строки.
Синтаксис
String.substring(startIndex, endIndex);
начальный индекс
Позиция в строке, с которой начнется извлечение. Первая позиция в строке — 0.
конечный индекс
Конечный индекс выделения (эксклюзивный) По умолчанию извлекается до конца строки. Символ по этому индексу не будет включен.
Описание
Метод slice() возвращает строку, содержащую извлеченную часть строки.
slice()
выдержки до endIndex
, но не включая endIndex
. str.slice(1, 4)
извлекает символы со второго по четвертый (символы с индексами 1
, 2
и 3
).
Отрицательные числа
Если startIndex
отрицательное, slice()
начинает извлечение с str.length + startIndex
(например, "test".slice(-2)
возвращает "st"
)
Если endIndex
отрицательное, slice()
начинает извлечение из str.length + endIndex
(например, если endIndex
равно -2
, оно обрабатывается как str.length - 2
, а "test".slice(1, -2)
возвращает "e"
)
Примеры
const message = "JavaScript";
console.log(message.slice(1, 4)); // 'ava'
console.log(message.slice(4, -2)); // 'Scri'
console.log(message.slice(-3, -2)); // 'i' (10 - 3, 10 - 2) => (7, 8)
console.log(message.slice(7,8)); // 'i'
Сращивание
Метод splice()
возвращает массив, изменяя (добавляя/удаляя) его элементы на месте. Это изменит исходный массив.
Из Мозиллы:
Метод
splice()
изменяет содержимое массива, удаляя или заменяя существующие элементы и/или добавляя новые элементы
Синтаксис
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2, itemN)
Начать
Индекс, с которого следует начать изменение массива.
Если начальное значение больше длины массива, то из массива ничего не будет удалено. (Например, [1,2,3,4,5,6,7].splice(9)
возвращает "[]"
)
если начальное значение отрицательное, то splice()
начинает извлечение из array.length + startIndex
(например, [1,2,3,4,5,6,7].splice(-2)
возвращает "[6, 7]"
исходный массив будет "[1, 2, 3, 4, 5]"
)
deleteCount
Необязательно
Целое число, указывающее количество элементов в массиве, которые необходимо удалить из start
.
Если deleteCount
опущено или если его значение больше или равно array.length - start
(то есть, если оно равно или больше количества элементов, оставшихся в массиве, начиная с start
), то все элементы от start
до конец массива будет удален. Однако его нельзя опускать, если есть какой-либо параметр item1
.
Если deleteCount
равно 0
или отрицательному значению, никакие элементы не удаляются. В этом случае вы должны указать хотя бы один новый элемент (см. ниже)
item1, item2, ...
Необязательно
Элементы для добавления в массив, начиная с start
.
Если вы не укажете никаких элементов, splice()
удалит только элементы из массива.
Примеры
let prime_numbers = [2, 3, 5, 7, 9, 11];// replace 1 element from index 4 by 13 let removedElement = prime_numbers.splice(4, 1, 13);
console.log(removedElement); console.log(prime_numbers); // Output: [ 9 ] // [ 2, 3, 5, 7, 13, 11 ]
PadStart
Метод JavaScript String padStart() дополняет текущую строку другой строкой в начале.
Из Мозиллы:
Метод
padStart()
дополняет текущую строку другой строкой (при необходимости несколько раз), пока результирующая строка не достигнет заданной длины. Заполнение применяется с начала текущей строки.
Синтаксис
str.padStart(targetLength, padString)
Параметры
- targetLength — Длина конечной строки после того, как текущая строка была дополнена. Для targetLength ‹ str.length строка возвращается без изменений.
- padString (необязательный) — Строка для заполнения текущей строкой. Его значение по умолчанию —
" "
.
Примечание. Если padString слишком длинный, он будет усечен с конца, чтобы соответствовать targetLength.
Примеры
let string = "CODE";
value1 = string.padStart(10);
console.log(value1); // " CODE"
value2 = string.padStart(10, "*");
console.log(value2); // "******CODE"
// long string is truncated
value3 = string.padStart(10, "ABCDEFGHIJKL");
console.log(value3); // "ABCDEFCODE"
PadEnd
Метод JavaScript String padEnd() дополняет текущую строку другой строкой до конца.
Из Мозиллы:
Метод
padEnd()
дополняет текущую строку заданной строкой (при необходимости повторяя), чтобы результирующая строка достигла заданной длины. Заполнение применяется с конца текущей строки.
Синтаксис
str.padEnd(targetLength, padString)
Параметры
- targetLength — Длина конечной строки после того, как текущая строка была дополнена. Для targetLength ‹ str.length строка возвращается без изменений.
- padString (необязательный) — Строка для заполнения текущей строкой. Его значение по умолчанию —
" "
.
Примечание. Если padString
слишком длинное, оно будет усечено, чтобы соответствовать targetLength.
Пример
let string = "CODE";
value1 = string.padEnd(10);
console.log(value1); // "CODE "
value2 = string.padEnd(10, "*");
console.log(value2); // "CODE******"
// long string is truncated
value3 = string.padEnd(10, "ABCDEFGHIJKL");
console.log(value3); // "CODEABCDEF"
Заменить все
Метод replaceAll()
возвращает новую строку, в которой все совпадения шаблона заменены заменой. pattern
может быть строкой или RegExp
, а replacement
может быть строкой или функцией, вызываемой для каждого совпадения.
Синтаксис
str.replaceAll(pattern, replacement)
Параметры
pattern
- либо подстрока, либо регулярное выражение, которое нужно заменитьreplacement
-pattern
заменяется этимreplacement
(может быть строкой или функцией)
Примеры
const text = "Java is awesome. Java is fun."; // passing a string as the first parameter
let pattern = "Java"; let new_text = text.replaceAll(pattern, "JavaScript");
console.log(new_text); // passing a regex as the first parameter
pattern = /Java/g; new_text = text.replaceAll(pattern, "JavaScript");
console.log(new_text);
At
Метод at()
принимает целочисленное значение и возвращает элемент с этим индексом, допуская положительные и отрицательные целые числа. Отрицательные целые числа отсчитываются от последнего элемента в массиве.
Это не означает, что в использовании квадратных скобок есть что-то неправильное. Например, array[0]
вернет первый элемент. Однако вместо использования array.length
для последних элементов; например array[array.length-1]
для последнего элемента вы можете позвонить array.at(-1)
Синтаксис
at(index)
Параметры
index
- Возвращается индекс (позиция) элемента массива. Поддерживает относительную индексацию с конца массива при передаче отрицательного индекса; т. е. если используется отрицательное число, возвращаемый элемент будет найден путем обратного отсчета от конца массива.
Примеры
const array1 = [5, 12, 8, 130, 44]; let index = 2; console.log(array1.at(index)); // 8 index = -2; console.log(array1.at(index)); // 130 at((arraylength - 2)) => (5-2) => position 3
Заключение
Это была очень длинная статья, и если вы дочитали до этого места, молодцы! Я надеюсь, что вы нашли это полезным. Спасибо за чтение и счастливого кодирования 😊.