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.