Iztīrīsim neskaidrības ap slice (), splice () un split () metodēm JavaScript

JavaScript iebūvētās metodes mums daudz palīdz programmēšanas laikā, tiklīdz tās pareizi saprotam. Es gribētu paskaidrot trīs no tiem šajā rakstā: tās slice(), splice()un split()metodes. Varbūt tāpēc, ka viņu nosaukumi ir tik līdzīgi, viņi bieži tiek sajaukti pat pieredzējušu izstrādātāju vidū.

Iesaku studentiem un jaunākajiem izstrādātājiem rūpīgi izlasīt šo rakstu, jo šīs trīs metodes var lūgt arī DARBA INTERVIJĀ.

Beigās varat atrast katras metodes kopsavilkumu. Ja vēlaties, varat arī noskatīties video versiju zemāk:

Tātad sāksim ...

JavaScript masīvi

Pirmkārt, jums ir jāsaprot, kā darbojas JavaScript masīvi . Tāpat kā citās programmēšanas valodās, mēs izmantojam masīvus, lai JS saglabātu vairākus datus. Bet atšķirība ir tā, ka JS masīvos vienlaikus var būt dažāda veida dati.

Dažreiz mums ir jāveic operācijas ar šiem masīviem. Tad mēs izmantojam dažas JS metodes, piemēram, slice () un splice () . Zemāk varat redzēt, kā deklarēt masīvu JavaScript:

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

Tagad paziņosim par citu masīvu ar dažādiem datu tipiem. Es to izmantošu tālāk piemēros:

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

Šis lietojums ir derīgs JavaScript. Masīvs ar dažādiem datu tipiem: virkne, skaitļi un būla skaitlis.

Šķēle ()

Par šķēle () metode kopē konkrētā daļa masīva un atdevi, kas kopēti daļu kā jaunu masīvs. Tas nemaina sākotnējo masīvu.

array.slice(from, until);

  • No: sagrieziet masīvu, sākot no elementa indeksa
  • Līdz: sagrieziet masīvu līdz citam elementa indeksam

Piemēram, es vēlos sagriezt pirmos trīs elementus no iepriekš minētā masīva. Tā kā masīva pirmais elements vienmēr tiek indeksēts ar 0, es sāku sagriezt “no” 0.

array.slice(0, until);

Tagad šeit ir viltīgā daļa. Kad es gribu, lai šķēle pirmos trīs elementus, man ir jādod līdz parametru 3. šķēle () metode neietver pēdējo doto elementu.

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

Tas var radīt zināmu neskaidrību. Tāpēc es otro parametru saucu “līdz”.

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

Visbeidzot, es piešķiru sagriezto masīvu jaunajam mainīgajam. Tagad redzēsim rezultātu:

Svarīga piezīme: metodi Slice () var izmantot arī virknēm.

Savienojums ()

Šīs funkcijas nosaukums ir ļoti līdzīgs slice () . Šī nosaukuma līdzība bieži vien mulsina izstrādātājus. Salaidums () metode maina masīvs, pievienojot vai noņemot elementus no tā. Apskatīsim, kā pievienot un noņemt elementus ar savienojumu ( ) :

Elementu noņemšana

Lai noņemtu elementus, mums jānorāda indeksa parametrs un noņemamo elementu skaits :

array.splice(index, number of elements);

Indekss ir sākumpunkts elementu noņemšanai. Elementi, kuriem ir mazāks indeksa numurs no norādītā indeksa, netiks noņemti:

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

Ja mēs nenosakām otro parametru, visi elementi, kas sākas no norādītā indeksa, tiks noņemti no masīva:

Kā otro piemēru es dodu otro parametru kā 1, tāpēc elementi, kas sākas ar indeksu 2, tiks noņemti pa vienam katru reizi, kad mēs saucam metodi splice () :

array.splice(2, 1);

Pēc 1. zvana:

Pēc 2. zvana:

Tas var turpināties, kamēr vairs nav indeksa 2.

Elementu pievienošana

Lai pievienotu elementus, mums jāpiešķir tie kā 3., 4., 5. parametrs (atkarīgs no tā, cik daudz pievienot ) metodei splice () :

array.splice (indekss, elementu skaits, elements, elements);

Kā piemēru es pievienoju a un b masīva pašā sākumā, un es neko nenoņemu:

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

Sadalīt ()

Slice () un splice () metodes ir paredzētas masīviem. Split () metode tiek izmantota, lai stīgas . Tas sadala virkni apakšpozīcijās un atdod tos kā masīvu. Tam nepieciešami 2 parametri, un abi nav obligāti.

string.split(separator, limit);

  • Atdalītājs: nosaka, kā sadalīt virkni ... ar komatu, rakstzīmi utt.
  • Limit: ierobežo sadalījumu skaitu ar noteiktu skaitli

Split () metode nedarbojas tieši masīvus . Tomēr vispirms mēs varam pārveidot sava masīva elementus par virkni, pēc tam mēs varam izmantot split () metodi.

Apskatīsim, kā tas darbojas.

Pirmkārt, mēs pārveidojam savu masīvu virknē ar toString () metodi:

let myString = array.toString();

Tagad sadalīsim myString ar komatiem, ierobežosim tos ar trim apakšvirsrakstiem un atgriezīsim tos kā masīvu:

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

Kā redzam, myString ir sadalīts ar komatiem. Tā kā mēs ierobežojam sadalīšanu līdz 3, tiek atgriezti tikai pirmie 3 elementi.

PIEZĪME. Ja mums ir šāds lietojums:array.split("");katrs virknes raksturs tiks sadalīts kā apakšvirsraksts:

Kopsavilkums:

Šķēle ()

  • Kopē elementus no masīva
  • Atgriež tos kā jaunu masīvu
  • Nemaina sākotnējo masīvu
  • Sāk sadalīt no… līdz dotajam indeksam: array.slice (no, līdz)
  • Šķēlē nav iekļauts indeksa parametrs “līdz”
  • Var izmantot gan masīviem, gan virknēm

Savienojums ()

  • Izmanto elementu pievienošanai / noņemšanai no masīva
  • Atgriež noņemto elementu masīvu
  • Maina masīvu
  • Elementu pievienošanai: array.splice (indekss, elementu skaits, elements)
  • Elementu noņemšanai: array.splice (indekss, elementu skaits)
  • Var izmantot tikai masīviem

Sadalīt ()

  • Sadala virkni apakšpozīcijās
  • Atgriež tos masīvā
  • Tiek ņemti 2 parametri, abi nav obligāti: string.split (atdalītājs, ierobežojums)
  • Nemaina sākotnējo virkni
  • Var izmantot tikai virknēm

JavaScript masīviem un virknēm ir daudz citu iebūvētu metožu, kas atvieglo darbu ar JavaScript programmēšanu. Pēc tam jūs varat apskatīt manu jauno rakstu par JavaScript apakškārtas metodēm.

Ja vēlaties uzzināt vairāk par tīmekļa izstrādi, droši sekojiet man Youtube !

Paldies par lasīšanu!