Prázdne pole v javascripte. Pole JavaScript a jeho tvorba. Všetko o poliach JavaScript

  • 18.06.2019

Čo je pole

Pole je dátový typ, ktorý ukladá očíslované hodnoty. Každá očíslovaná hodnota sa nazýva prvok poľa a číslo, ku ktorému je prvok priradený, sa nazýva jeho index. Polia JavaScript sú bez typu, čo znamená, že prvok poľa môže byť ľubovoľného typu a rôzne prvky toho istého poľa môžu mať rôzne typy. Polia JavaScriptu sú navyše dynamické, čo znamená, že nemusíte deklarovať pevnú veľkosť a môžete kedykoľvek pridať nové prvky.

Vytvorenie poľa

Pole je možné vytvoriť dvoma spôsobmi, prvým je vytvorenie poľa pomocou literálu poľa – hranatých zátvoriek, vo vnútri ktorých je čiarkami oddelený zoznam prvkov.

var prázdny = ; //prázdne pole var čísla = ; //pole s 5 numerickými prvkami var diff = ; //pole s 3 prvkami rôznych typov

Hodnoty nemusia byť jednoduché (čísla alebo reťazce) - môžu to byť aj akékoľvek iné výrazy, ako napríklad objektové literály, iné polia alebo funkcie.

varnum = 700; var tab = , num + 1];

Druhým spôsobom vytvorenia poľa je zavolanie konštruktora Array(). Existujú tri spôsoby, ako zavolať konštruktor Array().

  • Volanie konštruktora bez argumentov:
varb = new Array();

V tomto prípade sa vytvorí prázdne pole ekvivalentné prázdnemu literálu.

  • Konštruktor explicitne špecifikuje hodnoty n prvkov poľa:
var b = new Array(1, 3, 5, 8, "string", true);

V tomto prípade dostane konštruktor zoznam argumentov, ktoré sa stanú prvkami nového poľa. Argumenty sa zapisujú do poľa v poradí, v akom sú zadané.

  • Pridelenie priestoru pre následné priradenia hodnôt. To sa dosiahne zadaním jedného čísla v zátvorkách pri definovaní poľa:
var b = new Array(5);

Tento spôsob definovania poľa zahŕňa pridelenie určitého počtu prvkov do poľa (každý z nich má hodnotu nedefinovaná) s možnosťou následného priradenia hodnôt v priebehu skriptu. Tento formulár sa zvyčajne používa na predbežné pridelenie poľa, ak je jeho dĺžka vopred známa.

Čítanie, zápis a pridávanie prvkov poľa

Prvky poľa sú prístupné pomocou . Prvky poľa v JavaScripte sú číslované od nuly. Ak chcete získať požadovaný prvok poľa, musíte zadať jeho číslo v hranatých zátvorkách.

varnumbers = ; document.write(čísla + ", "); //prvý prvok poľa document.write(čísla + ", "); //druhý prvok poľa document.write(čísla + ", "); //tretí prvok poľa document.write(numbers); //štvrtý prvok poľa

Prvky poľa je možné zmeniť:

varnumbers = ; čísla = 10; //zmenil prvý prvok poľa -

Ak chcete pridať nový prvok poľa, stačí priradiť novú hodnotu:

varnumbers = ; čísla = 7; //sa stal

Poznámka: Polia JavaScript môžu ukladať ľubovoľný počet prvkov akéhokoľvek typu.

Dĺžka poľa

Všetky polia, či už vytvorené pomocou konštruktora Array() alebo definované pomocou literálu poľa, majú špeciálnu vlastnosť length, ktorá vracia celkový počet prvkov uložených v poli. Keďže polia môžu mať nedefinované prvky (s hodnotou nedefinovanou), presnejšie tvrdenie je, že vlastnosť length je vždy o jednu viac ako najväčší index (číslo) prvku poľa. Vlastnosť length sa automaticky aktualizuje, aby bola správna, keď sa do poľa pridávajú nové prvky.

Varv = new Array(); // v.length == 0 (nie je definovaný žiadny prvok) v = new Array(1,2,3); // v.dĺžka == 3 (definované prvky 0–2) v = ; // v.length == 2 (prvky 0 a 1 definované) document.write(v.length);

Môžete tiež použiť vlastnosť length na získanie posledného prvku poľa:

Var v = ["JavaScript", "Vlastnosť", "Polia"]; dokument.zapis(v);

Posledný prvok má index o 1 menší ako je dĺžka poľa, pretože počet začína od nuly. Preto, ak nepoznáte presný počet prvkov, ale potrebujete sa odvolať na posledný prvok poľa, použije sa zápis: v.length - 1.

Iterácia cez prvky poľa

Najbežnejším použitím vlastnosti length je iterácia prvkov poľa v slučke:

Tento príklad predpokladá, že prvky poľa sú súvislé a začínajú prvým prvkom (s indexom 0). Ak to tak nie je, pred prístupom ku každému prvku poľa musíte skontrolovať, či je definovaný:

Var ovocie = ["jablko", "banán", "jahoda", "broskyňa"]; for(var i = 0; i

Slučku možno použiť aj na inicializáciu prvkov poľa:

Var bar = new Array(10); for(var i = 0; i

Skráťte a rozbaľte pole

Pri práci s poľami sa vlastnosť length automaticky aktualizuje, takže sa o ňu nemusíme starať sami. Za zmienku však stojí jedna vec – vlastnosť length je dostupná nielen na čítanie, ale aj na písanie. Ak nastavíte vlastnosť length na hodnotu menšiu ako aktuálna, pole sa skráti na novú (danú) dĺžku, všetky prvky, ktoré nespadajú do nového rozsahu indexov, sa zahodia a ich hodnoty sa stratia, dokonca ak dĺžku vrátite neskôr - hodnoty sa neobnovia.

var foo = ; foo.length = 1; //skrátiť na 1 prvok - foo.length = 4; //obnovenie predchádzajúceho počtu prvkov document.write(foo); //neexistuje žiadna predchádzajúca hodnota

Najjednoduchší spôsob vymazania poľa by bol: foo.length = 0.

Ak je vlastnosť length väčšia ako jej aktuálna hodnota, na koniec poľa sa pridajú nové nedefinované prvky, čím sa pole zväčší na zadanú veľkosť.

Odstránenie prvkov poľa

Operátor delete zapíše do prvku poľa nedefinovanú hodnotu, zatiaľ čo samotný prvok naďalej existuje. Ak chcete odstrániť prvky, aby sa zvyšné prvky presunuli do uvoľneného priestoru, musíte použiť jednu z preddefinovaných metód poľa. Metóda Array.shift() odstráni prvý prvok poľa, pop() - posledný prvok poľa, metóda splice() - jeden alebo rozsah prvkov kdekoľvek v poli. Podrobnosti o používaní týchto metód budú popísané v nasledujúcej kapitole.

Viacrozmerné polia

Pripomeňme, že polia JavaScript môžu obsahovať iné polia ako prvky. Túto funkciu možno použiť na vytváranie viacrozmerných polí. Ak chcete získať prístup k prvkom v poli polí, použite zátvorky dvakrát.

Matica var = [ , , ]; dokument.zapis(matica); //vybratý stredový prvok

Poďme analyzovať, čo je napísané v príklade, matica je pole polí čísel. Akýkoľvek prvok matice[n] je pole čísel. Pre prístup ku konkrétnemu číslu v poli napíšte maticu[n][n], druhé hranaté zátvorky označujú index prvku vnútorného poľa.

//analóg predchádzajúceho záznamu - vytvorenie pomocou konštruktora var table = new Array(3); for(var i = 0; i

Asociatívne polia

Objekty možno použiť ako asociatívne polia. Trochu teórie – asociatívne polia (nazývané aj hašovacie tabuľky) umožňujú používať reťazce namiesto indexov. Používanie asociatívnych polí je veľmi podobné používaniu názvu vlastnosti normálneho objektu, ale v tomto prípade vo formáte poľa. Keďže v JavaScripte neexistujú žiadne metódy na prácu s asociatívnymi poliami, používajú sa oveľa menej často ako bežné polia, hoci môžu byť užitočné aj na ukladanie informácií a uľahčenie zapamätania prvkov, ku ktorým je potrebné pristupovať.

Var s_list = new Object(); s_list["fat"] = "Tuk"; s_list["small"] = "Malý"; s_list["meno"] = "Homer"; for (var x v s_liste) //zobrazenie všetkých prvkov document.write(s_list[x] + "
");

Naučte sa indexovať polia v js, odstraňovať a pridávať ich prvky.

Pole v JavaScripte je globálny objekt navrhnutý tak, aby obsahoval zoznam hodnôt.

Podobá sa iným premenným v tom, že môže ukladať akýkoľvek typ údajov. Pole má však jeden dôležitý rozdiel od premennej: môže uložiť viac ako jeden prvok naraz.

Pole je usporiadaná kolekcia hodnôt. Každá hodnota sa nazýva prvok a má svoje vlastné číslo, ktoré sa nazýva index.

Prvok v poli môže byť akéhokoľvek typu. Okrem toho môžu byť prvky jedného poľa rôznych typov: čísla, reťazce, logické prvky a dokonca aj objekty alebo iné polia.

Poradie prvkov poľa je založené na nule. Ukazuje sa, že pole bude mať index vždy posunutý o jednu: prvý prvok bude mať index 0 , druhý bude mať index 1 atď.

Tu je príklad poľa s prvkami rôznych typov:

Vytvorenie (deklarovanie) poľa

Polia sú veľmi pohodlné, pretože do nich môžete uložiť toľko údajov, koľko potrebujete. Maximálna možná veľkosť poľa js je 2 32 prvkov.

Musíme JavaScriptu povedať, že chceme vytvoriť pole. Existujú dve možnosti: hodnota v hranatých zátvorkách alebo nové kľúčové slovo.

Skratka: pomocou hranatých zátvoriek

Zoznam hodnôt oddelených čiarkami v hranatých zátvorkách.

var myArray = [ "Jack", "Sawyer", "John", "Desmond" ];

Obsah poľa je určený tým, čo je medzi hranatými zátvorkami. Každá hodnota je oddelená čiarkou.

Hodnoty sa nastavujú rovnakým spôsobom ako jednoduché premenné, to znamená, že reťazce musia byť deklarované v úvodzovkách atď.

Ak chcete deklarovať prázdne pole, nechajte zátvorky prázdne:

var myArray = ;

Dlhá poznámka: Použitie konštruktora Array().

var lostArray = new Array("Jack", "Sawyer", "John", "Desmond"); var twinPeaksArray = new Array("Laura", 2, ["Bob", "Leland", "Dale"]);

Nové kľúčové slovo hovorí JavaScriptu, aby vytvoril nové pole, ktorého hodnoty sa odovzdajú ako parametre.

Ak vopred viete, koľko prvkov bude mať vaše pole, môžete túto hodnotu okamžite odovzdať v konštruktore.

var myArray = new Array(80);

Vyššie uvedený výraz vytvorí prázdne pole 80 slotov s nedefinovanými hodnotami.

Vyhlásenie prázdneho poľa:

var myArray = new Array();

Prístup k prvkom poľa

Pomocou indexu každého prvku môžete pracovať s akýmikoľvek údajmi v poli a pristupovať k nim pomocou operátora:

var myArray = ["Jack", "Sawyer", "John", "Desmond"]; log konzoly (myArray); // Vypíše "Jack" console.log(myArray); // Vytlačí "Desmond"

Pole môže mať viacero úrovní, čo znamená, že každý prvok môže byť poľom. Výsledkom je dvojrozmerné js-pole. Ako odkazovať na tieto polia, ktoré sa nachádzajú vo vnútri iných - " viacrozmerné polia»?

Uvažujme napríklad pole predstavujúce rodinu. Deti z tejto rodiny sú zaznamenané v samostatnom poli vnútri hlavnej:

var familyArray = ["Marge", "Homer", ["Bart", "Lisa", "Maggie"]];

Môže byť reprezentovaný nasledovne:

Ak chcete zobraziť hodnotu "Lisa":

varlisa = familyArray; log konzoly (lisa); // vytlačí "Lisa"

Takto možno pokračovať takmer donekonečna, čo vám umožňuje ukladať vnorené množiny údajov do polí a pristupovať k nim pomocou indexov.

Pridávanie prvkov do poľa

Zistili sme, ako pristupovať k prvkom poľa pomocou ich príslušných indexov. Podobne môžete pridať (alebo zmeniť) prvky deklarovaním, napríklad:

var myArray = [ "Kate", "Slnko"]; myArray = "Júlia"; log konzoly (myArray); // Vytlačí "Kate, Sun, Juliet"

Čo sa stane, ak deklarujem prvok v indexe, ktorý nemá pred sebou žiadne ďalšie prvky? Samotné pole vytvorí všetky chýbajúce prvky a priradí im hodnotu undefined:

var myArray = ["Kate", "Slnko"]; myArray = "Júlia"; console.log(myArray.length); // Vypíše "6" console.log(myArray); // Vytlačí ["Kate", "Sun", undefined, undefined, undefined, "Juliet"]

Pomocou vlastnosti length môžete zistiť, aké dlhé je pole js. Vo vyššie uvedenom príklade je v poli šesť prvkov a tri z nich nemajú pridelenú hodnotu – sú označené ako nedefinované .

metóda push().

Pomocou metódy push() môžete pridať jeden alebo viac prvkov do poľa js. Push() akceptuje neobmedzený počet parametrov, všetky sa pridajú na koniec poľa.

var myArray = [ "Kate", "Sut"]; myArray.push("Júlia"); // Pridá prvok "Juliet" na koniec poľa myArray.push("Libby", "Shannon");// Pridá prvky "Libby" a "Shannon" na koniec poľa console.log(myaArray ); // Vytlačí ["Kate", "Sun", "Juliet", "Libby", "Shannon"]

metóda unshift().

Metóda unshift() funguje rovnako ako push() okrem toho, že pridáva prvky na začiatok poľa.

var myArray = [ "Kate", "Slnko"]; myArray.unshift("Júlia"); // Pridá prvok "Juliet" na začiatok poľa myArray.unshift("Libby", "Shannon"); // Pridá prvky "Libby" a "Shannon" na začiatok poľa console.log(myArray); // Výstupy ["Libby", "Shannon", "Juliet", "Kate", "Sun"]

Odstránenie prvkov poľa

metódy pop() a shift().

Metódy pop() a shift() odstraňujú posledný a prvý prvok poľa:

var myArray = ["Jack", "Sawyer", "John", "Desmond", "Kate"]; myArray.pop(); // Odstráni prvok "Kate" myArray.shift(); // Odstráni prvok "Jack" console.log(myArray); // Výstupy ["Sawyer", "John", "Desmond"]

metóda splice().

Pomocou metódy splice() môžete odstrániť alebo pridať prvky do poľa a zároveň zadať presný index prvkov.

V nasledujúcom príklade metóda splice() pridáva dva prvky začínajúce na indexe 2 ( teda z tretieho elementu):

var fruitArray = ["jablko", "broskyňa", "pomaranč", "citrón", "limetka", "čerešňa"]; fruitArray.splice(2, 0, "melón", "banán"); console.log(fruitArray); // Výstupy ["jablko", "broskyňa", "melón", "banán", "pomaranč", "citrón", "limetka", "čerešňa"]

Prvým parametrom metódy splice() je index. Určuje, na ktorej pozícii sa majú pridať/odobrať prvky. V našom príklade sme zvolili index 2 ( čo znamená "oranžový").

Druhým parametrom je počet prvkov, ktoré sa majú odstrániť. Zadali sme hodnotu 0, takže sa nič nevymaže.

Nasledujúce parametre sú voliteľné. Do poľa pridávajú nové hodnoty. V našom prípade musíme pridať „melón“ a „banán“, počnúc indexom 2.

V JavaScripte, ako aj v iných programovacích jazykoch, sa na prácu s poľami používajú rôzne metódy.

Metódy uľahčujú vytváranie logiky a jej implementáciu do skriptu.

Nižšie sú uvedené základné metódy pre prácu s poliami v JS.

TLAČIŤ

Metóda push() pridáva hodnotu na koniec poľa.

Nech arr = ; arr.push(312); log konzoly (arr); // →

pop

Metóda pop() odstráni posledný prvok z poľa alebo vráti jeho hodnotu.

Nech arr = ; arr.pop(); log konzoly (arr); // →

Pomocou schopnosti získať hodnotu posledného prvku poľa ako príklad môžeme získať formát obrázka:

Nech img = "https://example.com/img/meno.png"; nech format = img.split(".").pop(); protokol konzoly (formát); // → png console.log(img.split(".")); // → ["https://example", "com/img/name", "png"]

nevyraďovať

Metóda unshift() pridá prvok na začiatok poľa.

Nech arr = ; arr.unshift(312); log konzoly (arr); // →

posun

Metóda shift() odstráni prvý prvok z poľa.

Nech arr = ; arr.shift(); log konzoly (arr); // → ;

Musíte pochopiť, že pri použití metód shift a unshift každý prvok poľa mení svoj index. To môže spomaliť vykonávanie programu, ak je pole veľké.

rozdeliť

Metóda split() sa používa na transformáciu reťazca na pole. Split rozdelí reťazec (reťazec) podľa zadaného parametra.

Nech str = "Anya, Máša, Saša, Dáša"; // toto je reťazec nech arr = str.split(", "); log konzoly (arr); // → ["Anya", "Masha", "Sasha", "Dasha"] je pole

pripojiť sa

Metóda join() kombinuje prvky poľa do reťazca pomocou oddeľovača špecifikovaného v parametri.

Nech arr = ["Notpad++", "Sulime", "VSCode"]; // toto je pole nech str = arr.join(", "); console.log("Editory kódu: " + str); // → "Editory kódu: Notpad++, Sublime, VSCode"

plátok

Metóda slice() vytvorí nové pole, do ktorého skopíruje prvky zo zdroja, počnúc od prvku s indexom prvého parametra odovzdaného metóde až po prvok s indexom druhého parametra.

Napríklad: slice(3, 7) vráti prvky s indexmi 3, 4, 5, 6. Prvok s indexom 7 nebude zahrnutý do poľa.

Ak sa do slice() odovzdá parameter so zápornou hodnotou, vráti nové pole s počtom prvkov špecifikovaným v parametri, ale už prevzatých z konca pôvodného poľa.

Metóda slice nemení pôvodné pole.

Tu je niekoľko príkladov toho, ako metóda slice() funguje:

Nech arr = ["A", "B", "C", "D", "E", "F", "G"]; // Vráti pole obsahujúce prvky s indexmi od 2 do 5 console.log(arr.slice(2, 5)); // → ["C", "D", "E"] // Vráti nové pole obsahujúce prvky s indexmi od 3 do arr.length console.log(arr.slice(3)); // → ["D", "E", "F", "G"] // Vráti kópiu pôvodného poľa console.log(arr.slice()); // → ["A", "B", "C", "D", "E", "F", "G"] // Vráti nové pole pozostávajúce z posledných troch prvkov pôvodného console.log (priem. rez (-3)); // → ["E", "F", "G"]

spájať

Metóda splice() upravuje obsah poľa odstránením existujúcich prvkov a/alebo pridaním nových.

Syntax:

Array.splice(start, deleteCount[, item1[, item2[, ...]]])

Možnosti:

  • začať- Index, pri ktorom sa má začať upravovať pole. Ak je väčšia ako dĺžka poľa, skutočný index bude nastavený na dĺžku poľa. Ak je záporné, určuje index prvku od konca.
  • deleteCount- Celé číslo označujúce počet starých prvkov, ktoré sa majú z poľa odstrániť. Ak je deleteCount 0, neodstránia sa žiadne prvky. V tomto prípade musíte zadať aspoň jeden nový prvok. Ak je deleteCount väčší ako počet zostávajúcich prvkov v poli, počnúc začiatkom indexu, potom budú odstránené všetky prvky až do konca poľa.
  • položkaN- Voliteľné parametre. Prvky, ktoré sa majú pridať do poľa. Ak nešpecifikujete žiadny prvok, splice() jednoducho odstráni prvky z poľa.

Návratová hodnota

Popis

Ak sa počet prvkov špecifikovaných na vloženie líši od počtu prvkov, ktoré sa majú odstrániť, pole po volaní zmení dĺžku.

Nech arr = [Barca, Šachtar, Manchester United, Miláno, Real Madrid, Ajax, Juventus]; nech nax = arr.splice(2, 3); arr.splice(2, 3); log konzoly (nax); // → ["Man Utd", "Milan", "Real"] console.log(arr); // → ["Bary", "Šachtar"] arr.splice(1, 0, "Zenith", "CSKA", "Spartak"); log konzoly (arr); // → [Barca, Zenit, CSKA, Spartak, Šachtar]

obrátene

Metóda reverse() obráti poradie prvkov poľa. V dôsledku toho sa prvý prvok poľa stane posledným a posledný prvok prvým.

Nech arr = ; console.log(arr.reverse()); // → console.log(["Alice", "BG", "GO", "DDT"].reverce()); // → ["DDT", "GO", "BG", "Alice"]

mapa

Metóda map() prechádza prvkami poľa, vykonáva s nimi zadané akcie a vracia kópiu poľa so zmenenými prvkami.

V nižšie uvedenom príklade pridajte pre každý prvok poľa hodnotu indexu tohto prvku (7 + 0, 2 + 1, 15 + 2, 4 + 3, 31 + 4):

Nech arr = ; let testMap = arr.map((prvok, index) => prvok + index); console.log(testMap); //

alebo vynásobte každú hodnotu poľa, napríklad 12

Nech arr = ; nech testMap = arr.map(a => a * 12); console.log(testMap); // →

filter

Metóda filter() sa používa na filtrovanie polí. Iteruje cez pole a vracia len tie prvky, ktoré vyhovujú danej podmienke.

Napríklad filtrujeme hodnoty poľa z čísel, pričom ponecháme iba tie, ktoré sú väčšie ako 21

Nech arr = ; let testFilter = arr.filter(prvok => prvok > 21); console.log(testFilter); // →

Upozorňujeme, že 21 nebolo zahrnuté vo výsledku poľa, pretože podmienkou bolo vrátiť niečo, čo je väčšie ako 21. Aby bolo 21 zahrnuté do poľa, potom je podmienka nastavená ako väčšia alebo rovná: prvok >= 21

znížiť

Metóda reduction() postupne prechádza prvkami poľa, pričom akumuluje medzivýsledok podľa funkcie špecifikovanej v podmienke funkcie. V konečnom dôsledku vráti iba jednu hodnotu.

Táto metóda sa často používa na nájdenie súčtu všetkých čísel v poli. Príklad:

Nech arr = ; nech summa = arr.reduce((acc, element) => acc + element); konzolový denník (summa); // → 370

triediť

Metóda sort() sa používa na triedenie prvkov poľa podľa daných parametrov.

Príklad - vezmite pole čísel a zoraďte ich vo vzostupnom poradí:

Nech arr = ; nech testSortArr = arr.sort((a, b) => a - b); console.log(testSortArr); // →

zahŕňa

Metóda include() určuje, či pole obsahuje konkrétny prvok, pričom v závislosti od toho vracia hodnotu true alebo false.

Príklad použitia include() .

Tu je logické vyjadrenie:

Nech zviera = "pes"; if (zviera == "mačka" || zviera == "pes" || zviera == "lev" || zviera == "kôň") ( // ........ )

pomocou metódy include to môžete napísať takto:

Nech zviera = "pes"; const animals = ["mačka", "pes", "lev", "kôň"]; if (zvieratá.zahŕňa(zviera)) ( // ........... )

  • Preklad

Väčšina aplikácií, ktoré sa dnes vyvíjajú, vyžaduje interakciu s nejakým druhom súboru údajov. Manipulácia s prvkami v kolekciách je bežná operácia, s ktorou ste sa už určite stretli. Pri práci napríklad s poľami môžete bez váhania použiť zvyčajný cyklus for, ktorý vyzerá asi takto: for (var i=0; i< value.length; i++){} . Однако, лучше, всё-таки, смотреть на вещи шире.

Predpokladajme, že potrebujeme zobraziť zoznam produktov a v prípade potreby ho rozdeliť do kategórií, filtrovať, vyhľadať, upraviť tento zoznam alebo jeho prvky. Možno budete musieť rýchlo vykonať nejaké výpočty, ktoré budú zahŕňať prvky zoznamu. Napríklad potrebujete niečo k niečomu pridať, niečo vynásobiť niečím. Existujú nejaké funkcie v JavaScripte, ktoré vám umožňujú vyriešiť takéto problémy rýchlejšie a pohodlnejšie ako používanie bežnej slučky for?

V skutočnosti takéto zariadenia v JavaScripte existujú. Niektoré z nich sú zohľadnené v materiáli, ktorého preklad vám dnes predstavujeme. Hovoríme najmä o operátorovi šírenia, slučke for...of a metódach include() , some() , every() , filter() , map() a reduction(). Tu budeme hovoriť hlavne o poliach, ale tu diskutované techniky sú zvyčajne vhodné na prácu s objektmi iných typov.

Je potrebné poznamenať, že prehľady moderných prístupov k vývoju v JS zvyčajne obsahujú príklady pripravené pomocou funkcií šípok. Možno ich nepoužívate príliš často – možno preto, že sa vám nepáčia, možno preto, že nechcete tráviť priveľa času učením sa niečoho nového, alebo vám možno jednoducho nevyhovujú. Preto sa tu vo väčšine situácií zobrazia dve možnosti vykonania rovnakých akcií: pomocou bežných funkcií (ES5) a pomocou funkcií šípok (ES6). Pre tých, ktorí sú s funkciami šípok noví, si uvedomte, že funkcie šípok nie sú ekvivalentné deklaráciám funkcií a výrazom funkcií. Nemali by ste nahradiť jeden druhým. Je to spôsobené najmä tým, že kľúčové slovo this sa správa inak v bežných a šípkových funkciách.

1. Operátor rozšírenia

Operátor šírenia (operátor šírenia) vám umožňuje „rozbaliť“ polia, pričom na mieste, kde sa tento operátor používa, nahradí ich prvky. Podobný prístup sa navrhuje pre objektové literály.

▍ Silné stránky operátora rozšírenia

  • Ide o jednoduchý a rýchly spôsob, ako „vytiahnuť“ jednotlivé prvky z poľa.
  • Tento operátor je vhodný na prácu s poliovými a objektovými literálmi.
  • Ide o rýchly a intuitívny spôsob práce s argumentmi funkcií.
  • Operátor spread nezaberá v kóde veľa miesta – vyzerá ako tri bodky (...).

▍ Príklad

Povedzme, že vašou úlohou je vytlačiť zoznam vašich obľúbených pochúťok bez použitia slučky. S pomocou operátora šírenia sa to robí takto:

2. Slučka for...of

Operátor for...of je určený na prechádzanie opakovateľnými objektmi. Umožňuje prístup k jednotlivým prvkom takýchto objektov (najmä k prvkom poľa), čo napríklad umožňuje ich úpravu. Môžete si to predstaviť ako náhradu za bežnú slučku for.

▍Sila slučky for...of

  • Toto je jednoduchý spôsob, ako pridať alebo aktualizovať položky zbierky.
  • Cyklus for...of vám umožňuje vykonávať rôzne výpočty pomocou prvkov (sčítanie, násobenie atď.).
  • Je vhodné ho použiť, keď je potrebné skontrolovať akékoľvek podmienky.
  • Jeho použitie vedie k napísaniu čistejšieho a čitateľnejšieho kódu.

▍ Príklad

Predpokladajme, že máte dátovú štruktúru, ktorá popisuje obsah panela nástrojov a chcete tieto nástroje zobraziť. Tu je návod, ako to urobiť pomocou slučky for...of:

3. zahŕňa() metóda

Metóda include() sa používa na kontrolu, či kolekcia obsahuje prvok, najmä napríklad určitý reťazec v poli obsahujúcom reťazce. Táto metóda vráti hodnotu true alebo false v závislosti od výsledkov overenia. Pri jeho používaní by ste mali brať do úvahy, že sa rozlišujú malé a veľké písmená. Ak napríklad kolekcia obsahuje prvok reťazca SCHOOL a kontrola jeho prítomnosti pomocou include() sa vykoná na reťazci school, metóda vráti hodnotu false .

▍Sila metódy include().

  • Metóda include() je užitočná na vytváranie jednoduchých mechanizmov vyhľadávania údajov.
  • Poskytuje vývojárovi intuitívny spôsob, ako určiť, či sú v poli nejaké údaje.
  • Je vhodné ho použiť v podmienených výrazoch na úpravu, filtrovanie prvkov a na vykonávanie iných operácií.
  • Jeho použitie vedie k zlepšeniu čitateľnosti kódu.

▍ Príklad

Povedzme, že máte garáž reprezentovanú radom áut a neviete, či je v tejto garáži auto alebo nie. Ak chcete tento problém vyriešiť, musíte napísať kód, ktorý vám umožní skontrolovať, či je auto v garáži. Použime metódu include():

4. metóda some().

Metóda some() vám umožňuje skontrolovať, či v poli existujú niektoré prvky, ktoré hľadáte. Podľa výsledkov kontroly vráti true alebo false . Podobá sa vyššie uvedenej metóde include() s tým rozdielom, že jej argumentom je funkcia a nie napríklad obyčajný reťazec.

▍Sila metódy some().

  • Metóda some() vám umožňuje skontrolovať, či pole obsahuje aspoň jeden z prvkov, ktoré nás zaujímajú.
  • Vykonáva test stavu pomocou funkcie, ktorá mu bola odovzdaná.
  • Táto metóda je vhodná na použitie.

▍ Príklad

Predpokladajme, že ste vlastníkom klubu a vo všeobecnosti vás nezaujíma, kto presne príde do vášho klubu. Niektorým návštevníkom je však vstup do klubu zakázaný, pretože sú náchylní na nadmernú konzumáciu alkoholických nápojov, aspoň ak sa náhodou ocitnú vo vašej prevádzke sami a nie je s nimi nikto, kto by sa o nich mohol starať. V tomto prípade môže do klubu vstúpiť skupina návštevníkov, len ak aspoň jeden z nich má aspoň 18 rokov. Aby sme tento druh kontroly zautomatizovali, použime metódu some(). Jeho použitie je uvedené nižšie v dvoch verziách.

ES5

ES6

5. metóda every().

Metóda every() iteruje pole a kontroluje každý prvok podľa nejakej podmienky, pričom vráti hodnotu true, ak všetky prvky v poli spĺňajú podmienku, a v opačnom prípade vráti hodnotu false. Môžete vidieť, že je podobná metóde some().

▍Sila metódy every().

  • Metóda every() vám umožňuje skontrolovať, či podmienku spĺňajú všetky prvky poľa.
  • Podmienky je možné nastaviť pomocou funkcií.
  • Podporuje deklaratívny prístup k programovaniu.

▍ Príklad

Vráťme sa k predchádzajúcemu príkladu. Tam ste povolili vstup do klubu návštevníkom mladším ako 18 rokov, no niekto napísal vyhlásenie na políciu, po ktorom ste sa dostali do nepríjemnej situácie. Keď sa vám podarilo všetko urovnať, rozhodli ste sa, že toto všetko nepotrebujete a sprísnili ste pravidlá návštevy klubu. Teraz môže skupina návštevníkov vstúpiť do klubu len vtedy, ak vek každého člena skupiny je najmenej 18 rokov. Ako minule, aj teraz zvážime riešenie problému v dvoch verziách, no tentoraz použijeme metódu every().

ES5

ES6

6. metóda filter().

Metóda filter() vám umožňuje vytvoriť na základe poľa nové pole obsahujúce iba tie prvky pôvodného poľa, ktoré spĺňajú danú podmienku.

▍Sila metódy filter().

  • Metóda filter() vám umožňuje vyhnúť sa úprave pôvodného poľa.
  • Umožňuje vám zbaviť sa nepotrebných prvkov.
  • Zlepšuje čitateľnosť kódu.

▍ Príklad

Predpokladajme, že potrebujete vybrať zo zoznamu cien len tie, ktoré sú väčšie alebo rovné 30. Na vyriešenie tohto problému použijeme metódu filter().

ES5

ES6

7. metóda map().

Metóda map() je podobná metóde filter() v tom, že vracia aj nové pole. Používa sa však na úpravu prvkov pôvodného poľa.

▍Sila metódy map().

  • Metóda map() sa vyhýba potrebe meniť prvky pôvodného poľa.
  • S jeho pomocou je vhodné upravovať prvky polí.
  • Zlepšuje čitateľnosť kódu.

▍ Príklad

Predpokladajme, že máte zoznam produktov s cenami. Váš manažér potrebuje nový zoznam produktov, ktorých cena bola znížená o 25 %. Na vyriešenie tohto problému použijeme metódu map().

ES5

ES6

8. Metóda Reduce().

Metóda reduction() vo svojej najjednoduchšej forme umožňuje sčítať prvky číselných polí. Inými slovami, redukuje pole na jednu hodnotu. To vám umožňuje používať ho na vykonávanie rôznych výpočtov.

▍Sila metódy redukcie().

  • Pomocou metódy reduction() môžete vypočítať súčet alebo priemer prvkov poľa.
  • Táto metóda urýchľuje a zjednodušuje výpočty.

▍ Príklad

Predpokladajme, že potrebujete vypočítať svoje výdavky za týždeň, ktoré sú uložené v poli. Vyriešme tento problém pomocou metódy reduction().

ES5

ES6

Pridať značky