JavaScript - Pole - Array
Pole je skupina proměnných, které mají něco společného (jména měsíců, dnů). Každé pole má své jméno a jeho prvky jsou postupně číslovány od 0 dále. Prvky můžete i pojmenovat.
Deklarace pole
Existuje několik možností deklarace pole JavaScriptem:
var pole1 = new Array("mrkev", "brambory", "kvetak") var pole2 = ["mrkev", "brambory", "kvetak"] var pole3 = new Array(); var pole3[1] = ["mrkev"]; var pole3["br"] = ["brambory"]; var pole3[150] = ["kvetak"];
Tři metody jak deklarovat pole. Klíčové slovo var
je standardní, ale při deklaraci proměnných a polí ho používat nemusíte.
Přístup k prvkům pole
Ke každému prvku můžeme přistupovat prostřednictvím jeho pořadí (1. prvek má číslo 0, druhý 1 atd.). V uvedeném příkladu má mrkev číslo 0, brambory číslo 1.
document.write(pole1[0]);
Takto vypíšeme "mrkev". Nebo můžeme přistupovat pomocí jmen a nebo přiřazených čísel.
pole3 = new Array(); pole3[1] = ["mrkev"]; // mrkvi jsme přiřadili číslo 1 pole3["br"] = ["brambory"]; // brambory mají jméno "br" pole3[150] = ["kvetak"]; // květák má číslo 150 document.write(pole3["br"]) // vypíše brambory
Pomocí metody slice(od, do)
je možné vybrat určitou část pole.
pole = ["w", "b", "c", "d"]; pole2 = pole.slice(1, 3); // předá prvky "b" a "c" document.write(pole2[0]) // vypíše "b"
Počet prvků
Pomocí vlastnosti array.length
lze zjistit počet prvků pole.
pole2 = ["mrkev", "brambory", "kvetak"]; document.write(pole2.length); // vypíše 3
Při práci s poli si dejte pozor na číslování prvků. Pole má 3 prvky, ale poslední prvek má číslo 2!
Procházení pole - vypsání všech jeho prvků
pole2 = ["mrkev", "brambory", "kvetak"] for(i=0;i<pole2.length;i++){ document.write(pole2[i] +" ") }
Pomocí cyklu for jsme vypsali každý prvek pole. Dokud je i
menší než počet prvků pole, cyklus bude vypisovat prvky. Menší má být proto, že třetí prvek pole má číslo 2. Pole lze též vypsat pomocí metody join(oddělovač)
, která pole převede na řetězec, a nebo pomocí metody toString()
, která provede to samé:
pole = ["w", "w", "w"]; document.write(pole.join(".")); // vypíše w.w.w document.write(pole.join("")); // www document.write(pole.join()); // w,w,w document.write(pole.toString()); // w,w,w
Spojení dvou polí
K tomu slouží metoda concat()
p = ["a", "b", "c"]; p1 = ["d", "e", "f"]; p2 = ["g", "h", "i"]; p3 = p.concat(p1,p2); // pole p3 = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Obrácení pořadí prvků
To se dělá pomocí metody reverse()
:
pole = ["a", "b", "c"]; document.write(pole[0]); //vypíše a pole2 = pole.reverse(); document.write(pole2[0]); //vypíše c
Přidávání prvků
pole = ["a", "b", "c"]; pole[4] = "d"; document.write(pole[4]);
Takto jsme přidali prvek na poslední pozici. Ale to jde udělat i pomocí metody push(prvek1, prvek2)
.
pole = ["a"]; pole.push("b", "c"); // přidali jsme na konec pole dvě hodnoty
Také je možné přidat prvek na začátek a ostatní posunout pomocí metody unShift()
:
pole = ["c"]; pole.unshift("a", "b") // přidali jsme na začátek pole dvě hodnoty
Odstranění prvku
První prvek je možné odstranit pomocí metody shift()
:
pole = ["w", "b", "c", "d"]; pole.shift(); document.write(pole[0]); // vypíše b
Odstranění vybraného prvku lze řešit pomocí splice()
, která je zárověň schopna jej nahradit jinými:
pole = ["w", "b", "c", "d"]; pole.splice(0,1); // odstranění prvku od pozice 0 do 1 document.write(pole[0]); // vpíše b pole.splice(0,1,"a","x"); //ostranění prvního prvku a nahrazení prvky "a" a "x"
Metoda pop()
odstraní poslední prvek a zároveň ho vrátí:
pole = ["w", "b", "c", "d"];
document.write(pole.pop()); //vypíše d a odstraní ho
document.write(pole.pop()); //vypíše c a odstraní ho
Seřazení prvků
To se dělá pomocí metody sort()
, seřadí prvky abecedně:
pole = new Array("d","b","c","a","f"); pole.sort(); // vrátí "a","b","c","d","e","f"
Projití pole pomocí FOR .. IN
Tato konstrukce postupně projde všechny prvky pole: syntaxe: for (var proměnná) in pole{ proces }
. Vypsání všech prvků pole:
knihy = new Array(); knihy["P"] = "PHP"; knihy["H"] = "HTML"; knihy["X"] = "XHTML"; knihy["D"] = "DHTML"; for (var kniha in knihy) { document.write (knihy [kniha]); }
ValueOf a toSource
Metoda ValueOf()
vrací promitivní hodnotu pole nebo jeho prvků:
pole = new Array("HTML", "DHTML", "XHTML"); hodnoty = pole.valueOf();
Vrátí "HTML,DHTML,XHTML"
Metoda toSource()
vrací zdroj (source):
pole = new Array("HTML", "DHTML", "XHTML"); zdroj = pole.toSource();
vrátí "["HTML", "DHTML", "XHTML"]"
Tento článek je obsáhlejší, některé metody se mohou zdát složité, ale není třeba se polí bát. V praxi pravděpodobně využijete tak třetinu uvedených metod a vlastností. Doporučuji se vyzkoušet pár příkladů a určitě pole brzy pochopíte.
Další: JavaScript - funkce
Vyhledávání
Základy
Zajímavosti
DOM
Poradna
Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.