Nacházíte se: tvorba webu :: javascript :: pole

Pole

Pole, ať už v javascriptu nebo i jinde, je skupina prvků navzájem si podobných. Pole má své jméno a jeho prvky jsou číslovány postupně od 0. Místo číslování se dají prvky té pojmenovat.

Deklarace

Deklarace pole v javascriptu je možná hned několika způsoby. Ukážeme si tři možné cesty, jak deklarovat pole.

první způsob deklarace

Pomocí příkazu new Array vytvoříme pole a mezi závorkami deklarujeme jednotlivé prvky. V příkladu je vytvořeno pole (jmeno_pole) se třemi prvky.

  var jmeno_pole = new Array("Nymburk", "Poděbrady", "Sadská");

druhý způsob deklarace

Druhý způsob vytvoření pole je o něco jednodušší, stačí napsat mezi závorky ([ ]) jednotlivé prvky.

  var jmeno_pole = ["Nymburk", "Poděbrady", "Sadská"];

třetí způsob deklarace

Tento způsob je vhodný pro vytvoření pole, které nebude hned v čase vytvoření naplněno jednotlivými prvky. Pole pak například naplněno až v průběhu programu. Nejprve si tedy vytvoříme pole a to prázdným příkazem new Array(). Pak můžete naplnit pole buďto pomocí číselných indexů, nebo pomocí pojmenování.

  var jmeno_pole = new Array();
  
  var jmeno_pole[1] = ["Nymburk"];
  var jmeno_pole[2] = ["Praha"];
  var jmeno_pole[30]= ["Sadská"];
  
  var jmeno_pole["pod"] = ["Poděbrady"];
  var jmeno_pole["hk"]  = ["Hradec Králove"];


Přístup k prvkům

Přístup k prvkům se provádí přes jeho index nebo jméno. Nyní si ukážeme, jak přistoupit k prvkům ze třetího způsobu deklarace. Příklad vypíše prvek s indexem 1(Nymburk) a prvek se jménem pod(Poděbrady).

  document.write(jmeno_pole[1])      // vypíše Nymburk
  document.write(jmeno_pole["pod"])  // vypíše Poděbrady


Procházení pole

Pole můžete projít například pomocí for cyklu, jak to ukazuje následující příklad.

  for(i=0;i<jmeno_pole.length;i++){
    document.write(jmeno_pole[i] +" "+"\n"); 
  }

Nebo je možné pole projít pomocí for cyklu, který v sobě obsahuje příkaz in. Ten říká, že se projde vše, co je v uloženo v poli(jmeno_pole). Velice vhodné, pokud nepoužíváte číselné indexy.


  for (var promenna in jmeno_pole)){ 
      document.write (jmeno_pole[promenna]); 
  }


Počet prvků

V minulém příkladu je použit funkce jmeno_pole.length(), který vrací počet prvků v poli.

  document.write(jmeno_pole.length);


Převrácení pořadí prvků

Javascript dovoluje pomocí metoda reverse() obrátit pořadí prvků v poli.

  var jmeno_pole = ["Nymburk", "Poděbrady", "Sadská"];
  var jmeno_pole2= pole.reverse();
  //v poli2 budou prvky seřazeny Sadská, Poděbrady, Nymburk; 


Seřazení prvků v poli

Seřazení všech prvků zajistí metoda sort(). Nejlepe se to dá asi ukázat na následujícím příkladu.

  pole = new Array("c","a","f","b","d");
  pole.sort(); // pole je teď seřazeno takto:  "a","b","c","d","e","f"


Přidání prvku do pole

Přidání prvku je jednoduché, stačí vložit do prvku pole, který bude mít index o jedničku větší, než je zatím nejvyšší použitý index prvku pole, nějaký obsah.

   var jmeno_pole = new Array("Nymburk", "Poděbrady", "Sadská");
   jmeno_pole[3] = "Praha";
   document.write(jmeno_pole[3]); //vypise Praha

Přidání na konec

   var jmeno_pole = new Array("Nymburk", "Poděbrady", "Sadská");
   jmeno_pole.push("Praha");              //přidá jednu hodnotu na konec
   jmeno_pole.push("Praha","Bratislava")  //přidá dva prvky

Přidání na začátek

   var jmeno_pole = new Array("Sadská");
   jmeno_pole.unshift("Nymburk", "Poděbrady")  //přidá dva prvky na začátek  
                                               //a prvek Sadská posune 


Odstranění prvku z pole

K odstranění se dá zase použít několik metod. Pár si jich tu ukážeme.

Odstranění prvního prvku z pole

  var jmeno_pole = ["Nymburk", "Poděbrady", "Sadská"];
  jmeno_pole.shift();
  document.write(jmeno_pole[0]);  //vypíše Poděbrady

Odstranění posledního prvku z pole

  var jmeno_pole = ["Nymburk", "Poděbrady", "Sadská"];
  jmeno_pole.pop();   //vyhodí "Sadská"

Odstranění určitého prvku z pole

  var jmeno_pole = ["Nymburk", "Poděbrady", "Sadská"];
  jmeno_pole.splice(0); //vyhodi prvek na nulté pozici "Nymburk"
  jmeno_pole.splice(1); //vyhodi prvek na prvé pozici  "Poděbrady"
úvod | tvorba webu | ostatní | služby | návštěvní kniha | kontakt