Javascript zoraďuje reťazce a objekty. ForEach a súvisiace metódy. ▍Niektoré () silné stránky metódy

  • 02.08.2019

V tejto lekcii sa zoznámime s poliami, naučíme sa ich vytvárať, vykonávať operácie s ich prvkami a tiež zvážime základné metódy a vlastnosti dostupné pri práci s nimi.

Koncept poľa

Pole je usporiadaná kolekcia údajov, ktorá má názov a je inštanciou objektu Array. Pozostáva z prvkov, ku ktorým sa pristupuje pomocou ich poradového čísla (indexu). Číslovanie prvkov v poli nezačína od 1, ale od 0.

Nasledujúci obrázok zobrazuje číselné pole so 7 prvkami. Prvky tohto poľa obsahujú nasledujúce údaje: 1 prvok (index 0) - číslo 123, 2 prvok (1 index) - číslo 214, 3 prvok (index 2) - číslo 315 atď.

// prvok, do ktorého vypíšeme pole

Vytvorte (deklarujte) pole

Pole v JavaScripte sa vytvorí pomocou operátora new a funkcie konštruktora poľa. V zátvorkách funkcie konštruktora poľa môžete zadať jednu z nasledujúcich hodnôt:

  • číslo. V tomto prípade táto funkcia vytvorí pole zadaného počtu prvkov. Všetky tieto prvky budú mať nedefinované hodnoty.
  • Niekoľko hodnôt oddelených čiarkami. V tomto prípade funkcia konštruktora Array vytvorí pole zo zadaného počtu prvkov a priradí im príslušné hodnoty.
  • nič. V tomto prípade táto funkcia vytvorí prázdne pole.

Na rozdiel od mnohých iných programovacích jazykov sa veľkosť polí v JavaScripte automaticky mení, t.j. sú vo svojej podstate dynamické. Tieto polia nie je potrebné dimenzovať. Ďalšou charakteristickou črtou polí JavaScriptu je, že rôzne prvky toho istého poľa môžu obsahovať rôzne typy údajov.

Práca s prvkami poľa

Aby ste mohli odkazovať na konkrétny prvok poľa, musíte zadať názov tohto poľa a jeho index v hranatých zátvorkách. Táto operácia sa tiež nazýva operácia indexovania.

Napríklad vytvorte prázdne pole a pridajte doň 4 textové prvky:

// vytvorenie prázdneho poľa smartphoneColors var smartphoneColors = new Array (); // priradíme 1 prvku poľa (index 0) hodnotu "Black" smartphoneColors = "Black"; // priradíme 2. prvku poľa (index 1) hodnotu "White" smartphoneColors = "White"; // priraďte 3 prvkom poľa (index 2) hodnotu "Gray" smartphoneColors = "Gray"; // priradíme 4. prvku poľa (index 3) hodnotu "Blue" smartphoneColors = "Blue";

Napríklad vytlačíme na konzole prehliadača (F12) hodnoty 2 a 4 poľa smartphoneColors:

Console.log ("2 element =" + farby smartfónu); console.log ("4. prvok =" + farby smartfónu);

Dĺžka poľa (počet prvkov v poli)

Počet prvkov v poli je určený pomocou vlastnosti length.

// vytvorte pole uvedením hodnôt prvkov vo funkcii Array var volumeHDDs = new Array ("500Gb", "1Tb", "2Tb"); // premenná dĺžkaPole priradenie dĺžky poľa volumeHDDs var lengthArray = volumeHDDs.length;

Ako získať prvý prvok poľa

Hodnota prvého prvku poľa sa získa zadaním čísla 0 v hranatých zátvorkách tohto poľa:

// vytvorenie poľa 3 prvkov var volumeHDDs = new Array ("500Gb", "1Tb", "2Tb"); // získame hodnotu prvého prvku poľa var firstValue = volumeHDDs;

Ako získať posledný prvok poľa

Hodnota posledného prvku poľa sa získa zadaním výrazu názov_poľa.dĺžka-1 v hranatých zátvorkách tohto poľa:

// vytvorenie poľa 3 prvkov var volumeHDDs = new Array ("500Gb", "1Tb", "2Tb"); // získame hodnotu posledného prvku poľa var lastValue = volumeHDDs;

Iterácia cez pole

Iterácia prvkov poľa sa vykonáva pomocou cyklu for.

Prejdime napríklad cez všetky prvky poľa a zobrazme ich hodnoty v konzole prehliadača (F12):

// vytvorenie poľa nameStudents, pozostávajúceho zo 4 prvkov var nameStudents = new Array ("Petya", "Vasya", "Kolya", "Maxim"); // iteruje prvky poľa od 0 do dĺžky poľa-1 for (var i = 0; i<= nameStudents.length-1; i++) { console.log(i+1 + " элемент массива = " + nameStudents[i]); }

Na čo slúži operátor vymazania?

Operátor delete sa používa nie na odstránenie prvku z poľa, ale na priradenie nedefinovanej hodnoty danému prvku poľa.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); vymazať názovPlanéty; pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Metódy objektov poľa

Objekt Array obsahuje nasledujúce metódy na prácu s prvkami poľa: pop (), push (), shift (), unshift (), slice (), splice (), join (), split (), reverse (), sort ()...

Odstránenie posledného prvku poľa - pop

Metóda pop je navrhnutá tak, aby odstránila posledný prvok poľa. Táto metóda nemá žiadne parametre. Výsledkom je, že vráti hodnotu posledného (odstráneného) prvku poľa.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.pop (); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Pridanie prvku na koniec poľa - push

Metóda push je navrhnutá tak, aby pridala prvok na koniec poľa. Hodnota tohto prvku je špecifikovaná ako parameter tejto metódy. Výsledkom je, že metóda push vracia počet prvkov v poli, pričom zohľadňuje pridanú hodnotu.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.push ("Jupiter"); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Odstránenie prvého prvku poľa - shift

Metóda posunu je určená na odstránenie prvého prvku z poľa, t.j. prvok s indexom 0. Všetky ostatné prvky poľa sú posunuté na začiatok, t.j. ich index sa zníži o 1. Táto metóda vráti hodnotu vymazaného prvku poľa v dôsledku vykonania.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.shift (); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Pridanie prvku na začiatok poľa - unshift

Metóda unshift je navrhnutá na pridanie prvku na začiatok poľa. Hodnota tohto prvku je špecifikovaná ako parameter tejto metódy. Výsledkom je, že táto metóda vráti počet prvkov v poli, berúc do úvahy pridanú hodnotu.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.unshift ("Jupiter"); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Kopírovanie prvkov poľa - rez

Metóda slice je navrhnutá tak, aby kopírovala zadané prvky poľa. Táto metóda nemení pôvodné pole, ale ako výsledok vráti nové pole skopírovaných prvkov.

Metóda rezu má 2 parametre:

  • 1 parameter (povinný) - používa sa na označenie indexu prvku, z ktorého sa má začať kopírovať prvky;
  • 2 parameter (voliteľný) – používa sa na označenie indexu prvku, do ktorého chcete kopírovať. Ak ho nešpecifikujete, skopírujú sa prvky na koniec zadaného poľa.
var namePlanets = new Array („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets = namePlanets.slice (2,3); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Pridávanie a/alebo odstraňovanie prvkov - spoj

Metóda spájania slúži na pridávanie a/alebo odstraňovanie prvkov poľa.

1. Metóda spájania umožňuje vystrihnúť niektoré jej prvky z poľa, t.j. budú odstránené z poľa:

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.splice (2,2); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

2. Metóda splice vám tiež umožňuje pridať (ak je parameter 2 0) prvky do poľa alebo súčasne pridať a odstrániť (ak je parameter 2 väčší ako 0) prvky poľa.

Táto metóda má 3 parametre:

  • 1 parameter (povinný) - určený na označenie indexu prvku, z ktorého začíname rezať prvky;
  • Parameter 2 (povinný) - určený na určenie počtu prvkov, ktoré sa majú vyrezať;
  • 3 a následné parametre (voliteľné) - sú určené na pridávanie prvkov do poľa.
var namePlanets = new Array („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.splice (1,1, "Urán", "Neptún", "Saturn"); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Previesť pole na reťazec - spojiť

Metóda join slúži na konverziu poľa na reťazec. Táto metóda má parameter, ktorý sa používa ako spojovací reťazec medzi prvkami poľa pri ich konverzii na reťazec. Ak ako parameter nie je zadané nič, na spájanie prvkov poľa sa použije čiarka ("").

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); var strPlanets = namePlanets.join (); console.log ("Line:" + strPlanets); var strPlanets2 = namePlanets.join (""); console.log ("Line:" + strPlanets2);

Previesť reťazec na pole - rozdeliť

Metóda rozdelenia slúži na konverziu reťazca na pole. Táto metóda má jeden parameter, pomocou ktorého môžete zadať reťazec, na základe ktorého sa daný reťazec rozdelí na pole reťazcov.

Var strElementComputers = "Systémová jednotka, monitor, klávesnica, myš, stĺpce, tlačiareň"; var elementComputers = strElementComputers.split (","); console.log ("Počet prvkov v poli:" + prvokPočítače.dĺžka); pre (var i = 0; i<= elementComputers.length-1; i++) { console.log(i + " элемент массива = " + elementComputers[i]); }

Zmena poradia prvkov poľa v opačnom poradí - naopak

Obrátená metóda je navrhnutá na zmenu poradia prvkov poľa v opačnom poradí.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.reverse (); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Triedenie prvkov poľa - triedenie

Metóda triedenia slúži na triedenie prvkov poľa. Štandardne táto metóda triedi pole ako reťazce.

Názov VarPlanets = nové pole („Venuša“, „Merkúr“, „Zem“, „Mars“); namePlanets.sort (); console.log ("Počet prvkov v poli:" + názovPlanety.dĺžka); pre (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Popísal som len časť metód práce s poľami.

Tu budeme hovoriť o pridávaní a odstraňovaní prvkov poľa. O invertovaní a triedení poľa, ako aj o krájaní, nahrádzaní a kombinovaní polí.

Pridávanie prvkov do poľa.

Na pridanie nových prvkov do poľa môžete použiť vlastnosť length:

Var myArray = ["Apple", "Microsoft", "Google", "Facebook"]; myArray = "Yahoo!"; console.log (myArray); // ["Apple", "Microsoft", "Google", "Facebook", "Yahoo!"]

Toto bude fungovať, pretože prvky poľa sú číslované od nuly a dĺžka ešte jeden. Dĺžka vždy ekvivalentné index + 1 takže je veľmi jednoduché pridať nový prvok na koniec poľa. Zvláštne, ale môžete pridať prvok na pozíciu, ktorá je oveľa väčšia ako dĺžka samotného poľa:

Var myArray = ["Jimi Hendrix", "Eric Clapton", "Jimmy Page", "Keith Richards"]; myArray = "Lindsey Buckingham"; console.log (myArray); // ["Jimi Hendrix", "Eric Clapton", "Jimmy Page", "Keith Richards", nedefinované × 95, "Lindsey Buckingham"] console.log (myArray.length); // 100

Ako je uvedené v komentároch, na koniec poľa sa pridá 95 prázdnych slotov a prvok „Lindsey Buckingham“. Potom dostaneme dĺžku 100. Ďalším spôsobom, ako pridať nový prvok do poľa, je použiť metódu tlačiť ():

Var myArray = ["Paul McCartney", "John Lennon", "George Harrison"]; myArray.push ("Ringo Starr", "George Martin"); console.log (myArray); // ["Paul McCartney", "John Lennon", "George Harrison", "Ringo Starr", "George Martin"]

Metóda tlačiť () vždy vráti novú dĺžku poľa (v našom prípade 5). Položku môžete pridať pomocou spoj ():

Var myArray = ["žaluď", "buk", "mongongo", "makadamia"]; myArray.splice (2, 0, "kešu"); // pridá "kešu" do indexu 2 console.log (myArray); // ["žalud", "buk", "kešu", "mongongo", "makadamia"]

Keď je druhý argument 0, znamená to, že sa neodstráni žiadny prvok, a preto sa všetky nasledujúce argumenty pridajú do poľa na pozíciu špecifikovanú v prvom argumente.

Odstránenie prvkov z poľa

Odstránenie prvku je o niečo náročnejšie ako jeho pridanie. Ak chcete odstrániť prvok z konca poľa, môžete použiť pop ():

Var myArray = ["7-up", "Sprite", "Ginger Ale", "Limonade"]; myArray.pop (); console.log (myArray); // ["7-up", "Sprite", "Ginger Ale"]

Metóda pop () vždy odstráni posledný prvok v poli a vráti ho.

Môžete tiež použiť spoj () metóda:

Var myArray = ["maniok", "muškátový oriešok", "lupina", "rebarbora"]; myArray.splice (2, 1); // odstránenie prvku na indexe 2 console.log (myArray); // ["maniok", "muškátový oriešok", "rebarbora"]

Na rozdiel od metódy spoj (), ktorý sa používa na pridávanie prvkov, tu je druhý argument 1, ktorý hovorí, že chceme odstrániť prvok s indexom 2 (alebo 3. v rade). V tomto prípade bol odstránený prvok "lupina".

Pomocou operátora môžete odstrániť prvok z poľa vymazať:

Var myArray = ["Byte Bandit", "Eliza", "Jeefo", "Michelangelo"]; console.log (myArray.length); // 4 delete myArray; // odstránenie Eliza console.log (myArray.length); // 4 console.log (myArray); // ["Byte Bandit", undefined × 1, "Jeefo", "Michelangelo"]

Prvá dôležitá poznámka: vymazať () nezmení dĺžku poľa po odstránení prvku (aj keď to bol posledný prvok v poli). po druhé: vymazať () zmení hodnotu odstráneného prvku na nedefinovanú, takže pri cúvaní myArray = nedefinované.

Dobrým spôsobom, ako odstrániť prvok z poľa, je použiť Array.remove od Johna Resiga. Nižšie je uvedený príklad použitia prevzatý z jeho stránky:

// Odstrániť pole – od Johna Resiga (licencia MIT) Array.prototype.remove = funkcia (od, do) (var rest = this.slice ((do || from) + 1 || this.length); this.length = od< 0 ? this.length + from: from; return this.push.apply(this, rest); }; // Удаление 2 элемента из массива array.remove(1); // Удаление 2-ого элемента с конца массива array.remove(-2); // Удаление второго и третьего элемента array.remove(1,2); // Удаление последнего и предпоследнего элемента array.remove(-2,-1);

Možno by ste sa chceli pozrieť na riešenie od Viral Patel, jednu z funkcií v Underscore.js alebo grep od jQuery ().

Okrem toho v JavaScript existuje metóda posun (), ktorý odstráni prvý prvok v poli a vráti jeho hodnotu. Pozrime sa na kód:

Var myArray = ["Matt Kramer", "Jason Bieler", "Tom Defile", "Phil Varone"]; console.log (myArray.length); // 4 var firstItem = myArray.shift (); console.log (firstItem); // Matt Kramer console.log (myArray.length); // 3 console.log (myArray); // ["Jason Bieler", "Tom Defile", "Phil Varone"]

Pomocou metódy posun () odstránili sme položku, ale uložili sme jej hodnotu do našej premennej firstItem. Dĺžka poľa sa zmenila zo 4 na 3.

Táto metóda môže byť užitočná v spojení s metódou tlačiť (). Ich spoločným použitím môžeme efektívne zaradiť prvky do poľa. Dĺžku poľa zachováme odstránením prvku zo začiatku a pridaním nového na koniec.

Naopak, môžeme použiť metódu zrušiť posun () na pridanie prvku na začiatok poľa:

Var myArray = ["apito", "kastanety", "maraca"]; console.log (myArray.length); // 3 myArray.unshift ("bičík", "tan-tan"); console.log (myArray.length); // 5 console.log (myArray); // ["chime bar", "tan-tan", "apito", "castanets", "maraca"]

Pomocou metódy zrušiť posun () s metódou pop (), môžete zaradiť do frontu dozadu pridaním prvkov na začiatok a odstránením z konca poľa.

Obrátenie a triedenie prvkov poľa.

Na prevrátenie prvkov v poli môžeme použiť obrátene ():

Var myArray = ["odpočítavanie", "konečné", "the"]; console.log (myArray); // ["odpočítavanie", "final", "the"] myArray = myArray.reverse (); console.log (myArray); // ["posledné odpočítavanie"]

Pomocou tejto metódy je možné zoradiť prvky poľa abecedne zoradiť ():

Var myArray = ["xylofóny", "zebry", "juggernauts", "avokádo"]; console.log (myArray); // ["xylofóny", "zebry", "juggernauts", "avokádo"] myArray = myArray.sort (); console.log (myArray); // ["avokádo", "juggernauts", "xylofóny", "zebry"]

Ale to nebude fungovať s číslami.

Var myArray =; console.log (myArray); // myArray = myArray.sort (); console.log (myArray); //

Ak potrebujete zoradiť čísla, môžete použiť nasledujúci kód:

Funkcia porovnavaCisla (a, b) (vracia a - b;) var myArray =; console.log (myArray); // myArray = myArray.sort (compareNumbers); console.log (myArray); //

Ako je uvedené vyššie, s jednoduchou funkciou vloženou zoradiť (), pole obsahujúce čísla bude správne zoradené.

Kombinovanie polí.

Môžete zreťaziť 2 alebo viac polí a získať 1 pole, ktoré obsahuje prvky zreťazených polí. Na to používame metódu spojiť ():

Var myArray = ["Jay Ferguson", "Andrew Scott"]; var myArray2 = ["Chris Murphy", "Patrick Pentland"]; var myNewArray = myArray.concat (myArray2); console.log (myNewArray); // ["Jay Ferguson", "Andrew Scott", "Chris Murphy", "Patrick Pentland"]

Var myArray = ["Jay Ferguson", "Andrew Scott"]; var myNewArray = myArray.concat ("Chris Murphy", "Patrick Pentland"); console.log (myNewArray); // ["Jay Ferguson", "Andrew Scott", "Chris Murphy", "Patrick Pentland"]

Rozdelenie poľa.

Pomocou funkcie môžete vytvoriť nové pole obsahujúce 1 alebo viac prvkov z existujúceho poľa plátok ():

Var myArray = ["spev", "basa", "gitara", "bicie", "jablká", "pomaranče"]; var myNewArray = myArray.slice (4); console.log (myNewArray); // ["Jablká", "Pomaranče"]

Metóda plátok () trvá 1 alebo 2 argumenty. Ak sa odovzdá 1 argument (index), vytvorí sa nové pole zo všetkých prvkov starého, počnúc daným indexom. Ak sú odovzdané 2 argumenty, potom sa vytvorí nové pole z prvkov počínajúc prvým argumentom až po prvok v indexe odovzdaný v druhom parametri, pričom posledný sa nezahŕňa. Aby to bolo jasnejšie, pozrime sa na kód nižšie:

Var myArray = ["spev", "basa", "gitara", "bicie", "jablká", "pomaranče"]; var myNewArray = myArray.slice (0, 4); console.log (myNewArray); // ["Vokál", "Basa", "Gitara", "Bubny"]

Nahradenie prvkov v poli.

Používame spoj () na odstránenie prvkov z poľa, ale môžeme tiež nahradiť prvok v poli novými prvkami:

Var myArray = ["Rivers Cuomo", "Patrick Wilson", "Brian Bell", "Matt Sharp"]; myArray.splice (3, 1, "Scott Shriner"); // nahraďte 1 prvok indexom 3 console.log (myArray); // ["Rivers Cuomo", "Patrick Wilson", "Brian Bell", "Scott Shriner"]

Metóda spoj () vždy vráti pole obsahujúce prvky, ktoré boli odstránené. Riadok 2 vráti 1 položku „Brian Bell“.

Záver

Tieto články popisujú metódy práce s poľami v JavaScripte. Niektoré ďalšie prvky si môžete pozrieť na MDN, ktoré som nezahrnul do tohto príspevku. Fungujú iba v IE9 +, takže nemusia byť užitočné.

Chcete niečo dodať? Alebo poznáte nejakú zaujímavú knižnicu, ktorá vám pomôže spravovať polia? Prosím komentuj!

  • Preklad
  • I. Iterácia cez skutočné polia
    1. Pre každú metódu a súvisiace metódy
    2. Pre slučku
    3. Správne používanie cyklu for ... in
    4. Pre ... slučky (implicitné použitie iterátora)
    5. Explicitné použitie iterátora
    1. Použitie metód na iteráciu skutočných polí
    2. Konverzia na skutočné pole
    3. Poznámka k objektom runtime

I. Iterácia cez skutočné polia

V súčasnosti existujú tri spôsoby iterácie prvkov skutočného poľa:
  1. Array.prototype.forEach method;
  2. klasická slučka for;
  3. "Dobre tvarovaný" pre ... v slučke.
Okrem toho sa čoskoro s príchodom nového štandardu ECMAScript 6 (ES 6) očakávajú ďalšie dva spôsoby:
  1. for ... of loop (implicitné použitie iterátora);
  2. explicitné použitie iterátora.

1. Metóda forEach a súvisiace metódy

Ak je váš projekt navrhnutý tak, aby podporoval možnosti štandardu ECMAScript 5 (ES5), môžete využiť jednu z jeho inovácií – metódu forEach.

Príklad použitia:
var a = ["a", "b", "c"]; a.forEach (funkcia (záznam) (console.log (záznam);));
Vo všeobecnosti použitie forEach vyžaduje pripojenie knižnice emulácie es5-shim pre prehliadače, ktoré nemajú natívnu podporu pre túto metódu. Patrí medzi ne IE 8 a starší, ktoré sa používajú dodnes.

Výhodou forEach je, že nie je potrebné deklarovať lokálne premenné na uloženie indexu a hodnoty aktuálneho prvku poľa, pretože sa automaticky prenášajú do funkcie spätného volania ako argumenty.

Ak sa obávate potenciálnych nákladov na spätné volanie pre každú položku, nebojte sa a prečítajte si toto.

ForEach je navrhnutý tak, aby iteroval cez všetky prvky poľa, ale okrem toho ES5 ponúka niekoľko ďalších užitočných metód na iteráciu všetkých alebo niektorých prvkov, plus s nimi vykonávanie niektorých akcií:

  • every - vráti hodnotu true, ak pre každý prvok poľa vráti spätné volanie hodnotu, ktorá je pretypovaná na hodnotu true.
  • some - vráti true, ak pre aspoň jeden prvok poľa spätné volanie vráti hodnotu, ktorá je pretypovaná na true.
  • filter - vytvorí nové pole, ktoré obsahuje tie prvky pôvodného poľa, pre ktoré spätné volanie vráti hodnotu true.
  • mapa - vytvorí nové pole pozostávajúce z hodnôt vrátených spätným volaním.
  • redukovať - ​​zredukuje pole na jednu hodnotu, pričom spätné volanie použije na každý prvok poľa, počnúc prvým (môže byť užitočné pri výpočte súčtu prvkov poľa a iných konečných funkcií).
  • ZníženieVpravo – Funguje podobne ako zmenšenie, ale prvky sa opakujú v opačnom poradí.

2. Slučka for

Staré dobré pravidlá:

Var a = ["a", "b", "c"]; var index; pre (index = 0; index< a.length; ++index) { console.log(a); }
Ak dĺžka poľa zostane nezmenená počas celej slučky a samotná slučka patrí do časti kódu kritickej z hľadiska výkonu (čo je nepravdepodobné), potom môžete použiť „optimálnejšiu“ verziu pre s uložením dĺžky pole:

Var a = ["a", "b", "c"]; var index, len; for (index = 0, len = a.dĺžka; index< len; ++index) { console.log(a); }
Teoreticky by mal tento kód bežať o niečo rýchlejšie ako predchádzajúci.

Ak nie je dôležité poradie iterácií, môžete ísť ešte ďalej z hľadiska optimalizácie a zbaviť sa premennej na ukladanie dĺžky poľa zmenou poradia iterácií na opačný:

Var a = ["a", "b", "c"]; var index; for (index = a.length - 1; index> = 0; --index) (console.log (a);)
V moderných JavaScript motoroch však tieto optimalizované hry zvyčajne nič neznamenajú.

3. Správne používanie cyklu for ... in

Ak vám odporúčame použiť cyklus for ... v slučke, nezabudnite, že iterovanie cez polia nie je to, na čo je určené. Na rozdiel od bežnej mylnej predstavy, cyklus for ... in neopakuje indexy poľa, ale vymenované vlastnosti objektu.

V niektorých prípadoch, ako je napríklad iterácia cez riedke polia, môže byť pre ... in užitočné, ak prijmete určité preventívne opatrenia, ako je uvedené v príklade nižšie:

// a je riedke pole var a =; a = "a"; a = "b"; a = "c"; for (kľúč var v a) (ak (a.hasOwnProperty (kľúč) && /^0$|^\d*$/.test(kľúč) && kľúč<= 4294967294) { console.log(a); } }
V tomto príklade sa pri každej iterácii cyklu vykonajú dve kontroly:

  1. že pole má svoju vlastnú vlastnosť s názvom key (nezdedenú od svojho prototypu).
  2. tento kľúč je reťazec obsahujúci desiatkový zápis celého čísla, ktorého hodnota je menšia ako 4294967294. Odkiaľ pochádza posledné číslo? Z definície indexu poľa v ES5, z ktorej vyplýva, že najväčší index, ktorý môže mať prvok v poli, je (2 ^ 32 - 2) = 4294967294.
Samozrejme, že takéto kontroly zaberú viac času pri vykonávaní slučky. Ale v prípade riedkeho poľa je táto metóda efektívnejšia ako cyklus for, pretože v tomto prípade sa opakujú iba tie prvky, ktoré sú v poli explicitne definované. Takže vo vyššie uvedenom príklade sa vykonajú iba 3 iterácie (pre indexy 0, 10 a 10000) - oproti 10001 v slučke for.

Aby ste nepísali taký ťažkopádny kód kontrol zakaždým, keď potrebujete iterovať pole, môžete ho navrhnúť ako samostatnú funkciu:

Funkcia arrayHasOwnIndex (pole, kľúč) (vrátenie poľa.hasOwnProperty (kľúč) && /^0$|^\d*$/.test(kľúč) && kľúč<= 4294967294; }
Potom sa telo slučky z príkladu výrazne zníži:

For (key in a) (if (arrayHasOwnIndex (a, key)) (console.log (a);))
Vyššie uvedený kód šekov je univerzálny, vhodný pre všetky prípady. Namiesto toho však môžete použiť kratšiu verziu, aj keď formálne nie je úplne správna, ale napriek tomu vhodná pre väčšinu prípadov:

For (kľúč v a) (if (a.hasOwnProperty (kľúč) && String (parseInt (kľúč, 10)) === kľúč) (console.log (a);))

4. Cyklus for ... of (implicitné použitie iterátora)

ES6, zatiaľ čo je stále v stave konceptu, by mal zaviesť iterátory do JavaScriptu.

Iterátor je objektovo implementovaný protokol, ktorý definuje štandardný spôsob získania postupnosti hodnôt (konečné alebo nekonečné).
Iterátor je objekt, v ktorom je definovaná ďalšia () metóda - funkcia bez argumentov, ktorá vracia objekt s dvoma vlastnosťami:

  1. done (boolean) - true, ak iterátor dosiahol koniec iterovanej sekvencie. V opačnom prípade falošné.
  2. hodnota – definuje hodnotu vrátenú iterátorom. Môže byť nedefinovaný (neprítomný), ak je hotová vlastnosť pravdivá.
Mnohé vstavané objekty, vr. skutočné polia majú predvolené iterátory. Najjednoduchší spôsob, ako použiť iterátor na skutočných poliach, je použiť new for ... of construct.

Príklad použitia pre ... z:

Var val; var a = ["a", "b", "c"]; for (val of a) (console.log (val);)
Vo vyššie uvedenom príklade cyklus for ... of implicitne volá iterátor objektu Array, aby získal každú hodnotu v poli.

5. Explicitné použitie iterátora

Iterátory možno použiť aj explicitne, avšak v tomto prípade sa kód v porovnaní so slučkou for ... of stáva oveľa komplikovanejším. Vyzerá to takto:

Var a = ["a", "b", "c"]; var it = a.záznamy (); var záznam; while (! (položka = it.next ()). hotovo) (console.log (entry.value);)
V tomto príklade metóda Array.prototype.entries vracia iterátor, ktorý sa používa na zobrazenie hodnôt poľa. V každej iterácii entry.value obsahuje pole v tvare [kľúč, hodnota].

II. Iterovanie cez objekty podobné poliam

JavaScript okrem skutočných polí obsahuje aj objekty podobné poliam ... So skutočnými poľami majú spoločné to, že majú vlastnosť length a vlastnosti s názvami vo forme čísel zodpovedajúcich prvkom poľa. Príklady zahŕňajú DOM kolekcie NodeList a argumenty pseudo-pole dostupné v rámci akejkoľvek funkcie/metódy.

1. Použitie metód iterácie cez reálne polia

Prinajmenšom väčšina, ak nie všetky, metódy iterácie cez skutočné polia sa dajú použiť na iteráciu cez objekty podobné poliam.

Konštrukcie for a for ... in možno použiť na objekty podobné poliam presne rovnakým spôsobom ako na skutočné polia.

ForEach a ďalšie metódy Array.prototype sa vzťahujú aj na objekty podobné poliam. Ak to chcete urobiť, musíte použiť volanie funkcie Function.call alebo Function.apply.

Napríklad, ak chcete použiť forEach na vlastnosť childNodes objektu Node, môžete to urobiť takto:

Array.prototype.forEach.call (node.childNodes, funkcia (child) (// urobte niečo s podriadeným objektom));
Na uľahčenie opätovného použitia tejto techniky môžete deklarovať odkaz na metódu Array.prototype.forEach v samostatnej premennej a použiť ju ako skratku:

// (predpokladá sa, že celý kód uvedený nižšie je v rovnakom rozsahu) var forEach = Array.prototype.forEach; // ... forEach.call (node.childNodes, funkcia (dieťa) (// urobte niečo s podriadeným objektom));
Ak má objekt podobný poľu iterátor, potom ho možno použiť explicitne alebo implicitne na iteráciu objektu rovnakým spôsobom ako v prípade skutočných polí.

2. Previesť na skutočné pole

Existuje aj ďalší, veľmi jednoduchý spôsob, ako iterovať objekt podobný poľu: previesť ho na skutočné pole a použiť ktorúkoľvek z vyššie uvedených metód na iteráciu cez skutočné polia. Na konverziu môžete použiť generickú metódu Array.prototype.slice, ktorú možno použiť na akýkoľvek objekt podobný poľu. Robí sa to veľmi jednoducho, ako je znázornené na príklade nižšie:

Var trueArray = Array.prototype.slice.call (arrayLikeObject, 0);
Napríklad, ak chcete previesť kolekciu NodeList na skutočné pole, potrebujete kód ako tento:

Var divs = Array.prototype.slice.call (document.querySelectorAll ("div"), 0);
Aktualizovať: Ako je uvedené v komentároch

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

Pole v JavaScripte je globálny objekt na ukladanie zoznamu 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 0. Ukazuje sa, že pole bude mať index vždy posunutý o jednu: prvý prvok bude mať index 0, druhý 1 atď.

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

Vytvorte (deklarujte) pole

Polia sú veľmi pohodlné, pretože dokážu uložiť toľko údajov, koľko je potrebné. 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.

Krátka notácia: 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. V tomto prípade je každá hodnota 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ý zápis: pomocou konštruktora Array ().

var lostArray = nové pole ("Jack", "Sawyer", "John", "Desmond"); var twinPeaksArray = nové pole ("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 vo vašom poli, môžete túto hodnotu okamžite odovzdať v konštruktore.

var myArray = nové pole (80);

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

Vyhlásenie prázdneho poľa:

var myArray = nové pole ();

Prístup k prvkom poľa

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

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

Pole môže mať niekoľko úrovní, to znamená, že každý prvok môže byť sám o sebe poľom. V dôsledku toho získate dvojrozmerné pole js. Ako sa môžeme odvolávať na tieto polia, ktoré sa nachádzajú vo vnútri iných - " viacrozmerné polia»?

Ako príklad uvažujme pole predstavujúce rodinu. Deti z tejto rodiny sú zaznamenané v samostatnom poli v hlavnom:

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

Môžete si to predstaviť takto:

Odkaz na význam „Lisa“:

var lisa = familyArray; console.log (lisa); // zobrazí "Lisa"

Takto môžete 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 položiek do poľa

Zistili sme, ako získať prístup k prvkom poľa pomocou ich zodpovedajúcich indexov. Podobne môžete pridať (alebo zmeniť) prvky deklarovaním, napríklad:

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

Čo sa stane, ak deklarujem prvok s indexom, pred ktorým nie sú žiadne iné prvky? Samotné pole vytvorí všetky chýbajúce prvky a priradí im hodnotu undefined:

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

Pomocou vlastnosti length môžete zistiť, ako dlho je pole js. Vo vyššie uvedenom príklade je v poli šesť prvkov a trom z nich nebola priradená hodnota – 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 = ["Keith", "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 ); // Tlačí ["Keith", "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 = ["Keith", "Slnko"]; myArray.unshift ("Júlia"); // Pridá prvok "Juliet" na začiatok poľa myArray.unshift ("Libby", "Shannon"); // Pridá Libby a Shannon na začiatok poľa console.log (myArray); // Vytlačí ["Libby", "Shannon", "Juliet", "Keith", "Sun"]

Odstránenie prvkov poľa

Metódy Pop () a shift ().

Metódy pop () a shift () odstránia posledný a prvý prvok poľa:

var myArray = ["Jack", "Sawyer", "John", "Desmond", "Kate"]; myArray.pop (); // Odstráni prvok "Keith" myArray.shift (); // Odstráni prvok Jack console.log (myArray); // Vytlačí ["Sawyer", "John", "Desmond"]

Splice () metóda

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 počnúc indexom 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); // Vytlačí [jablko, broskyňa, melón, banán, pomaranč, citrón, limetka, čerešňa]

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

Druhým parametrom je počet položiek, 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.

  • Preklad

Väčšina aplikácií, ktoré sa dnes vyvíjajú, potrebuje interakciu s nejakým druhom súboru údajov. Manipulácia s položkami v zbierkach je bežná operácia, s ktorou ste sa mohli stretnúť. 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ť niektoré výpočty, ktoré zahŕňajú prvky zoznamu. Povedzme, že potrebujete k niečomu niečo pridať, niečo niečím vynásobiť. Dokážete nájsť v JavaScripte nástroje, vďaka ktorým je riešenie takýchto problémov rýchlejšie a pohodlnejšie ako používanie bežnej slučky for?

V skutočnosti JavaScript takéto možnosti poskytuje. O niektorých z nich sa diskutuje v materiáli, ktorého preklad vám dnes predstavujeme. Hovoríme najmä o operátorovi rozšírenia, slučke for ... of a metódach include (), some (), every (), filter (), map () a reduction (). Tu budeme hovoriť hlavne o poliach, ale techniky, o ktorých sa tu hovorí, sú zvyčajne vhodné na prácu s inými typmi objektov.

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 možno vám jednoducho nefungujú. 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). V prípade nových funkcií šípok si všimnite, že funkcie šípok nie sú ekvivalentné deklaráciám funkcií a výrazom funkcií. Neoplatí sa nahrádzať 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 expanzie

Operátor spread vám umožňuje „rozbaliť“ polia nahradením ich prvkov namiesto polí v mieste, kde sa tento operátor používa. Podobný prístup bol navrhnutý pre objektové literály.

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

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

▍ Príklad

Povedzme, že máte za úlohu uviesť zoznam svojich obľúbených pochúťok bez použitia slučky. S operátorom spread sa to robí takto:

2. Slučka for... of

Príkaz for… of je určený na prechádzanie iterovateľnými objektmi. Umožňuje prístup k jednotlivým prvkom takýchto objektov (najmä k prvkom polí), čo napríklad umožňuje ich modifikáciu. Dá sa považovať za 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ď potrebujete skontrolovať akékoľvek podmienky.
  • Jeho používanie vedie k čistejšiemu a čitateľnejšiemu kódu.

▍ Príklad

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

3. Metóda zahŕňa ().

Metóda include () sa používa na kontrolu prítomnosti určitého prvku v kolekcii, najmä napríklad určitého reťazca v poli obsahujúcom reťazce. Táto metóda vráti hodnotu true alebo false v závislosti od výsledkov kontroly. Pri jeho používaní treba mať na pamäti, ž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 školy, metóda vráti hodnotu false.

▍ Silné stránky zahŕňa () Metóda

  • Metóda include () je užitočná na vytváranie jednoduchých mechanizmov na vyhľadávanie údajov.
  • Poskytuje vývojárovi intuitívny spôsob, ako určiť, či sú niektoré údaje v poli.
  • 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

Predpokladajme, že máte garáž reprezentovanú poľom so zoznamom áut a neviete, či sa v tejto garáži nachádza určité auto alebo nie. Aby ste tento problém vyriešili, musíte napísať kód, ktorý vám umožní skontrolovať prítomnosť auta 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. Na základe výsledkov kontroly vráti hodnotu 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.

▍Niektoré () silné stránky metódy

  • Metóda some () nám umožňuje skontrolovať, či pole obsahuje aspoň jeden zo záujmových prvkov.
  • Kontroluje stav 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 sú vo vašej prevádzke sami a nie je s nimi nikto, kto by sa o nich staral. 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. Na automatizáciu tohto druhu kontroly použijeme metódu some (). Nižšie je jeho aplikácia demonštrovaná v dvoch verziách.

ES5

ES6

5. Metóda every ().

Každá metóda () prechádza poľom a kontroluje každý jeho prvok vzhľadom na určitú podmienku, pričom vracia hodnotu true, ak všetky prvky poľa spĺňajú podmienku, a v opačnom prípade vracia hodnotu false. Všimnete si, že je podobná metóde some ().

▍ Silné stránky každej () metódy

  • Metóda every () vám umožňuje skontrolovať, či všetky prvky v poli zodpovedajú podmienke.
  • Podmienky je možné nastaviť pomocou funkcií.
  • Podporuje deklaratívny programovací prístup.

▍ Príklad

Vráťme sa k predchádzajúcemu príkladu. Tam ste do klubu púšťali návštevníkov mladších ako 18 rokov, no niekto napísal vyhlásenie na políciu, po ktorom ste sa dostali do nepríjemnej situácie. Po vybavovaní všetkého ste sa rozhodli, ž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 aspoň 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 filtra ().

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

▍ Sila filtra () Metóda

  • Metóda filter () zabraňuje ú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 filtra ().

ES5

ES6

7. Metóda mapy ().

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

▍Silné stránky metódy mapy ().

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

▍ Príklad

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

ES5

ES6

8. znížiť () metóda

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

▍ Silné stránky metódy redukcie ().

  • Metódu redukcie () možno použiť na výpočet súčtu alebo priemeru prvkov v poli.
  • 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 znížiť ().

ES5

ES6

Pridať značky