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



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


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.

Reklama