Načrtovanje in razvoj spletnih aplikacij

Arrays

Objekt razreda Array predstavlja tabelo vrednosti, ki so lahko različnih tipov. Elementi tabele so indeksirani z nenegativnimi celimi števili.

Novo tabelo lahko ustvarimo kar z uporabo oglatih oklepajev, med katerimi naštejemo vse njene elemente. Pri tem bo prvi element dobil indeks 0, naslednji indeks 1, itd. Elementi tabele so lahko poljubnega tipa, torej tudi objekti in druge tabele. Primer tabele:

var seznam = [true, 17, "Miha", null, 11 - 3.14]

Tabela je lahko tudi brez elemntov, zapišemo jo kot [], ali pa pustimo nedoločen posamezen element tabele, kar zapišemo kot [1,2,,4] , pri čemer je vrednost tretjega elementa nedefinirana (undefined).

Lastnosti

Lastnost Opis
length dolžina tabele
constructor vrne sklic na funkcijo gradnika objekta
prototype omogoča dodajanje lastnosti in metod objektu Array

Dolžina tabele

Dolžino katerekoli tabele ugotovimo z lastnostjo length:

<p id="primer"></p> 
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   document.getElementById("primer").innerHTML = gore.length;  
</script>

Konstruktor

Lastnost constructor vrne sklic na funkcijo gradnika:

<p id="primer"></p> 
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   document.getElementById("primer").innerHTML = gore.constructor;  
</script>

Metode

Metoda Opis
concat() vrne tabelo, ki vsebuje elemente tabele array, nato pa še po vrsti elemente, ki jih dobi metoda za parameter (če je kateri od elementov tabela, doda vsak njen element posebej)
indexOf() poišče element v tabeli in vrne njegov položaj
join(ločilo) vrne niz, ki ga dobi tako, da vsak element tabele pretvori v niz, dobljene nize pa združi v en sam niz, pri čemer uporabi dano ločilo (privzeto ločilo je vejica)
lastIndexOf() poišče element v tabeli in vrne njegov položaj, z iskanjem začne na koncu tabele
pop() iz tabele odstrani in vrne njen zadnji element (če je tabela prazna, vrne undefined)
push() elemente, ki jih damo za parametre, doda na konec tabele v istem vrstnem redu (metoda vrne novo dolžino tabele)
reverse() obrne vrstni red elementov v tabeli, vrne spremenjeno tabelo
shift() iz tabele odstrani in vrne njen prvi element (če je tabela prazna, vrne undefined)
slice(začetek, konec) vrne podtabelo tabele array, ki vsebuje elemente na mestih z indeksi, ki so večji ali enaki začetek in strogo manjši od konec (če je kateri od indeksov negativen, izračuna ustrezen pozitiven indeks, pri čemer elemente šteje od konca proti začetku (-1 je indeks zadnjega elementa), če je začetek večji od konca, vrne prazno tabelo)
sort() uredi tabelo array glede na dano funkcijo
splice(začetek, koliko...) prvih koliko elementov tabele array od mesta začetek naprej nadomesti z elementi, ki sledijo prvima dvema parametroma, metoda vrne tabelo, ki vsebuje odstranjene elemente
toString() vrne niz z opisom posameznih elementov
unshift() elemente, ki jih damo za parametre, doda na začetek tabele v istem vrstnem redu (metoda vrne novo dolžino tabele)
valueOf() vrne primitivne vrednosti tabele array

Metodi valueOf() in toString()

V JavaScriptu imajo vsi objekti metodi valueOf() in toString(), pri delu s tabelami pa metodi vrneta enako vrednost. Obe metodi izpišeta vsebino tabele kot niz:

<p id="primer"></p> 
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   document.getElementById("primer").innerHTML = gore.valueOf() + "<br />" + gore.toString();  
</script>

Metoda join()

Metoda join() združi vse tabele v niz. Obnaša se podobno kot metoda toString(), razlika je le v tem, da ji lahko določimo ločilo med elemnti tabele:

<p id="primer"></p> 
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   document.getElementById("primer").innerHTML = gore.join(" | ");  
</script>

Metoda pop()

Metoda pop() iz tabele odstrani zadnji element:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];
   gore.pop();     
   document.getElementById("primer").innerHTML = gore;  
</script>

Metoda push()

Metoda push() tabeli doda nov element na konec tabele:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   gore.push("Planjava"); 
   document.getElementById("primer").innerHTML = gore; 
</script>

Metoda shift()

Metoda shift() iz tabele odstrani prvi element:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];
   gore.shift();     
   document.getElementById("primer").innerHTML = gore;  
</script>

Metoda unshift()

Metoda unshift() tabeli doda nov element na začetek tabele:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];     
   gore.unshift("Planjava"); 
   document.getElementById("primer").innerHTML = gore; 
</script>

Metoda concat()

Metoda concat() združi tabeli ali več tabel v novo tabelo:

<p id="primer"></p>
<script>    
   var gore1 = ["Grintovec", "Kočna"];     
   var gore2 = ["Skuta", "Turska gora"];
   var gore3 = ["Storžič"];
   document.getElementById("primer").innerHTML = gore1.concat(gore2, gore3); 
</script>

Metoda sort()

Metoda sort() uredi elemente po abecednem vrstnem redu:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];
   gore.sort();     
   document.getElementById("primer").innerHTML = gore;  
</script>

Metoda reverse()

Metoda reverse() obrne elemnte tabele v obratnem vrstnem redu:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];
   gore.reverse();     
   document.getElementById("primer").innerHTML = gore;  
</script>

Metoda splice()

Metoda splice() odstrani elemnte tabele in uredi indekse (ni praznih lukenj v indeksih tabele):

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];
   gore.splice(0, 2);
   document.getElementById("primer").innerHTML = gore;  
</script>

Metoda slice()

Metoda slice()vrne podtabelo tabele, ki vsebuje elemente na mestih z indeksi, ki so večji ali enaki od začetne vrednosti in strogo manjši od konečne vrednosti indeksa:

<p id="primer"></p>
<script>    
   var gore = ["Grintovec", "Kočna", "Skuta", "Turska gora", "Storžič"];    
   document.getElementById("primer").innerHTML = gore.slice(1, 4); 
</script>