Нека изчистим объркването около методите slice (), splice () и split () в JavaScript

Вградените в JavaScript методи ни помагат много при програмирането, след като ги разберем правилно. Бих искал да обясня три от тях в тази статия: на slice(), splice()и split()методи. Може би тъй като наименованията им са толкова сходни, те често се бъркат дори сред опитни разработчици.

Съветвам студенти и млади разработчици да прочетат внимателно тази статия, тъй като тези три метода могат да бъдат поискани и в ИНТЕРВЮ ЗА РАБОТА.

В крайна сметка можете да намерите обобщение на всеки метод. Ако предпочитате, можете да гледате и видео версията по-долу:

Така че нека започнем ...

JavaScript масиви

Първо, трябва да разберете как работят масивите на JavaScript . Подобно на други езици за програмиране, ние използваме масиви за съхраняване на множество данни в JS. Но разликата е, че JS масивите могат да съдържат различен тип данни наведнъж.

Понякога трябва да правим операции с тези масиви. След това използваме някои JS методи като slice () и splice () . Можете да видите по-долу как да декларирате масив в JavaScript:

let arrayDefinition = [];   // Array declaration in JS

Сега нека декларираме друг масив с различни типове данни. Ще го използвам по-долу в примери:

let array = [1, 2, 3, "hello world", 4.12, true];

Това използване е валидно в JavaScript. Масив с различни типове данни: низ, числа и булева стойност.

Филийка ()

На парче () метод на копия на дадена част от масив и възвръщаемост, които копират част като нов масив. Това не променя оригиналния масив.

array.slice(from, until);

  • От: Нарежете масива, започвайки от индекс на елемент
  • До: Нарежете масива до индекс на друг елемент

Например искам да наряжа първите три елемента от масива по-горе. Тъй като първият елемент на масив винаги е индексиран на 0, започвам да нарязвам "от" 0.

array.slice(0, until);

Сега е трудната част. Когато искам да режа първите три елемента, трябва да даде , докато параметъра както 3. В метода парче () не включва последното даден елемент.

array[0] --> 1 // included array[1] --> 2 // included array[2] --> 3 // included array[3] --> "hello world" // not included

Това може да създаде известно объркване. Ето защо наричам втория параметър „до”.

let newArray = array.slice(0, 3);   // Return value is also an array

И накрая, присвоявам нарязания масив на променливата newArray . Сега да видим резултата:

Важна забележка: Методът Slice () може да се използва и за низове.

Срастване ()

Името на тази функция е много подобно на slice () . Тази прилика при именуване често обърква разработчиците. На снаждане () метод променя масив, чрез добавяне или изваждане на елементи от него. Нека да видим как да добавяме и премахваме елементи със сплайс ( ) :

Премахване на елементи

За премахване на елементи трябва да дадем параметъра index и броя на елементите, които трябва да бъдат премахнати:

array.splice(index, number of elements);

Индексът е отправна точка за премахване на елементи. Елементи, които имат по- малък номер на индекс от дадения индекс, няма да бъдат премахнати:

array.splice(2);  // Every element starting from index 2, will be removed

Ако не дефинираме втория параметър, всеки елемент, започващ от дадения индекс, ще бъде премахнат от масива:

Като втори пример, давам втория параметър като 1, така че елементите, започващи от индекс 2, ще бъдат премахнати един по един всеки път, когато извикаме метода splice () :

array.splice(2, 1);

След 1-во обаждане:

След 2-ро обаждане:

Това може да продължи, докато вече няма индекс 2.

Добавяне на елементи

За добавяне на елементи трябва да ги дадем като 3-ти, 4-ти, 5-ти параметър (зависи от броя на добавените) към метода splice () :

array.splice (индекс, брой елементи, елемент, елемент);

Като пример добавям a и b в самото начало на масива и не премахвам нищо:

array.splice(0, 0, 'a', 'b');

Разделяне ()

Методите Slice () и splice () са за масиви. Методът split () се използва за низове . Той разделя низ на поднизове и ги връща като масив. Необходими са 2 параметъра и двата не са задължителни.

string.split(separator, limit);

  • Разделител: Определя как да разделя низ ... със запетая, символ и т.н.
  • Limit: Ограничава броя на разделянията с даден номер

Методът split () не работи директно за масиви . Първо обаче можем да преобразуваме елементите от нашия масив в низ, след което можем да използваме метода split () .

Нека да видим как работи.

Първо, ние преобразуваме нашия масив в низ с метод toString () :

let myString = array.toString();

Сега нека разделим myString със запетаи, ограничим ги до три подниза и ги върнем като масив:

let newArray = myString.split(",", 3);

Както виждаме, myString е разделен със запетаи. Тъй като ограничаваме разделянето до 3, се връщат само първите 3 елемента.

ЗАБЕЛЕЖКА: Ако имаме употреба като тази:array.split("");тогава всеки знак от низа ще бъде разделен като поднизове:

Резюме:

Филийка ()

  • Копира елементи от масив
  • Връща ги като нов масив
  • Не променя оригиналния масив
  • Стартира нарязване от ... до даден индекс: array.slice (от, до)
  • Slice не включва параметъра на индекса „до“
  • Може да се използва както за масиви, така и за низове

Срастване ()

  • Използва се за добавяне / премахване на елементи от масив
  • Връща масив от премахнати елементи
  • Променя масива
  • За добавяне на елементи: array.splice (индекс, брой елементи, елемент)
  • За премахване на елементи: array.splice (индекс, брой елементи)
  • Може да се използва само за масиви

Разделяне ()

  • Разделя низ на поднизове
  • Връща ги в масив
  • Отнема 2 параметъра, и двата не са задължителни: string.split (разделител, ограничение)
  • Не променя оригиналния низ
  • Може да се използва само за низове

Има много други вградени методи за JavaScript масиви и низове, които улесняват работата с програмирането на JavaScript. След това можете да разгледате новата ми статия за методите на поднизовете на JavaScript.

Ако искате да научите повече за уеб разработката, не се колебайте да ме последвате в Youtube !

Благодаря ви, че прочетохте!