Modern ismeretek WEB oldalon : Javascript ismertető HTML formátumban
Array objektum |
|||
Az array Objektum használata | |||
Elemfüggvények (metódusok) : | |||
concat() | tömbök összefűzése | ||
join() | tömbelemek összefűzése sztringgé | ||
pop() | utolsó tömbelem törlése | ||
push() | új tömbelem hozzáfűzése | ||
reverse() | tömbelemek sorrendjének megfordítása | ||
shift() | első tömbelem törlése | ||
slice() | rész tömb kivágása | ||
splice() | tömbelem törlése és hozzáfűzés | ||
sort() | tömb rendezése | ||
unshift() | elem hozzáfűzése a tömb elejéhez | ||
Elemváltozók (atributumok) : | |||
length | Tömbelemek száma | ||
Eseménykezelők : nincs definiálva | |||
Többdimenziós tömbök |
A Javascript nyelvnek nincs külön tömb tipusa. Az azonos tipusú adatok tárolására az array objektum szolgál, (ami tulajdonképpen egy hivatkozási lánc), aminek használata számos előnnyel jár. Nem szükséges például 12 változót létrehozni a hónapok tárolására, azokat elrakhatjuk, összefűzhetjük ujrarendezhetjük stb. az array objektum segítségével.
Létrehozása módja Megjegyzés tomb = new Array([tömb hossza]) ; megadhatjuk a tömb hosszát már a létrehozáskor, de amíg értéket nem adunk az elemeknek, a tömb hossza nulla. tomb = new Array([nulladik elem, első elem, második elem, ..., utolsó elem]) ; felsorolással is deifiniálhatjuk az új tőmböt tomb = [nulladik elem, első elem, második elem, ..., utolsó elem] ; közvetlen létrhozás értékadással, a kapcsos zárójel nem hagyható el
<html><head><title>Teszt</title> </head><body> <script language="JavaScript"> Napok=new Array ("Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"); document.write("<table border bgcolor=#CCFFFF><b>"); for (i=0; i < Napok.length; ++i) { document.write("<tr><td>"+ Napok[i]+"</td><tr>"); } document.write("</d></table>"); </script> </body></html> |
Hozzáfűz egy tömböt a másikhoz. Amely tömb metódusaként meghívjuk az lesz elöl, a paraméterként átadott tömb elemei lesznek hátul. A visszatérő érték az összefűzött tömb.
<html><head><title>Teszt</title> <script language="JavaScript"> T1 = new Array("Vasárnap","Hétfő","Kedd"); T2 = new Array("Szerda","Csütörtök","Péntek","Szombat"); T3 = new Array(); T3 = T1.concat(T2); alert("A hét "+ T3.length + " napból áll"); </script> </head><body> </body></html> |
Felfűzi a tömb elemeit egy sztringbe. Paraméterként az elemeket elválasztó jelet(sztringet) adhatjuk át a metódusnak. Ha semmit sem adunk meg, akkor ez egy vessző lesz (a példában egy kötőjel ).
<html><head><title>Teszt</title> <script language="JavaScript"> Testreszek = new Array("kéz","láb","törzs","fej"); szting = Testreszek.join("-"); alert(sztring); </script> </head><body> </body></html> |
Eltávolítja a tömb utolsó elemét és az elemszámot is csökkenti eggyel.
<html><head><title>Teszt</title> <script language="JavaScript"> lanyok = new Array("Éva","Kati","Vera","Berta","Magdi"); alert(" Lányok a sorban :" + lanyok.length); function Elhagy() { lanyok.pop(); alert(" Lányok a sorban :" + lanyok.length); } </script> </head><body> <a href="javascript:Elhagy()">Fogynak a lányok a sorból</a> </body></html> |
Hozzáfűz a tömb végéhez egy vagy több elemet, melyet parméterként adhatunk át. A metódus visszatérő értéke az utolsó felfűzött elem.
<html><head><title>Teszt</title> </head><body> <script language="JavaScript"> lanyok = new Array("Vera"); document.write(lanyok.join(",") + '<p>'); ujlany = lanyok.push("Kati"); document.write(lanyok.join(",") + '<br>'); document.write('Új lány : ' + ujlany + '<p>'); ujlany = lanyok.push("Éva","Magda","Lilla","Eszter"); document.write(lanyok.join(",") + '<br>'); document.write('Új lány : ' + ujlany); </script> </body></html> |
Egy tömb elemeinek sorrendjét megfordítja, így lesz az elsőből utolsó.
<html><head><title>Teszt</title> </head><body> <script language="JavaScript"> var lanyok = new Array("Éva","Kati","Vera","Berta","Magdi"); lanyok.reverse(); document.write(lanyok.join("; ")); </script> </body></html> |
Törli az első elemet a sorból, így minden tömbelem eggyel előrébb kerül. A visszatérő érték a törölt elem.
<html><head><title>Teszt</title> <script language="JavaScript"> lanyok = new Array("Éva","Kati","Vera","Berta","Magdi"); alert("Első lány a sorban : " + lanyok[0]); function elhagy() { torolt_elem = lanyok.shift(); alert("Első lány a sorban : " + lanyok[0]); } </script> </head><body> <a href="javascript:elhagy()">Fogynak a lányok a sor elejéről</a> </body></html> |
Kimásolja a tömb bizonyos elemeit(résztömböt). Paraméterként az első és utolsó elem index számát várja. Az utolsó elem indexeként negatív számot is elfogad, tehát a -1 az utolsó előtti tömbelemet jelöli. A visszatérő érték egy tömb, mely az átmásolt elemeket tartalmazza.
Figyelem : Az eredeti tömböt érintetlenül hagyja és az utolsó index által megjelölt elemet már nem másolja át !!
<html><head><title>Teszt</title> <script language="JavaScript"> lanyok = new Array("Éva","Kati","Vera","Berta","Olga","Magdi"); document.write("Lányok a sorban : " + lanyok.join(", ")); kiemelt = lanyok.slice(1,4); alert("Kiemelt táncosok :" + kiemelt.join(", ")); </script> </head><body> </body></html> |
Hozzáfűz a tömbhöz egy vagy több elemet, úgy hogy az ott lévő elemeket felülírja. A következő paramétereket várja : kezdő index, beszúrandó elemszám, beszúrandó elem, [beszúrandó elem],.. Ha csakaz első két paramétert adjuk át, akkor üres elemeket szúr be.
<html><head><title>Teszt</title> <script language="JavaScript"> lanyok = new Array("Éva","Zsuzsa","Andrea","Berta","Magdi"); document.write("Tánckar : " + lanyok.join(", ")+'<p>'); lanyok.splice(1,2,"Kati","Vera"); document.write("Új felállás : " + lanyok.join(", ")); </script> </head><body> </body></html> |
Rendezi egy tömb elemeit. Ha nem adunk meg paramétert, akkor az angol abc szerint rendezi, tehát a számokat karakterláncnak veszi és így a 15 elébb kerül mint a 8 mert az 1 kissebb a 8-nál. Ha numerikus értékeket akarunk rendezni, úgy összehasonlító funkciókat definiálhatunk és ezek nevét paraméterként adhatjuk át a metódusnak.
<html><head><title>Teszt</title> <script language="JavaScript"> </script> </head><body> <script language="JavaScript"> lanyok = new Array("Ivett","Éva","Kati","Vera","Juli","Berta","Magdi"); document.write("Tánckar tagjai : " + lanyok.join(", ")+ "<br>"); lanyok.sort(); fellepnek = lanyok.join(", "); document.write("Fellépnek : " + fellepnek + "<br>"); function Rendez(a,b) { return a-b; } szamok = new Array(43,37,86,55,72); szamok.sort(Rendez); Lotto = szamok.join(","); document.write("A lottó nyertes számai a következők: " + Lotto); </script> </body></html> |
Hozzáfűz a tömb elejéhez egy vagy több elemet, melyet paraméterként vár. Visszatérő érték az új elemszám.
<html><head><title>Teszt</title> <script language="JavaScript"> napok = new Array("Csütörtök","Péntek","Szombat","Vasárnap"); ujszam = napok.unshift("Hétfő","Kedd","Szerda"); alert("A hét napjainak száma : " + ujszam); document.write("A hét napjai a következők : " + napok.join(", ")); </script> </head><body> </body></html> |
Megadja a tömbben levő elemek számát. Vegyük észre, hogy minden Javascript objektum, mely a length attributummal rendelkezik, mint például a forms vagy elements objektumok, a JavaScript szempontjából tömbként vannak eltárolva
<html><head><title>Teszt</title> <script language="JavaScript"> lanyok = new Array("Éva","Kati","Vera","Berta","Olga","Magdi"); document.write("Fellépnek : " + lanyok.join(", ") + "<br>"); alert("Ma este " + lanyok.length + " lány lép fel a szinpadon"); </script> </head><body> </body></html> |
A tömb elemei lehetnek objektumok, azaz tömbök is. Igy minden nehézség nélkül hozhatunk létre többdimenziós tömböket
<html><head><title>Teszt</title> <script language="JavaScript"> a = new Array(3); for (i=0; i < a.length; ++i){ a[i] = new Array(5); for (j=0; j<a[i].length; ++j){ a[i][j]="Ez a " + i + ". tömb " + j + " . eleme"; } } for (i=0; i < a.length; ++i){ for (j=0; j<a[i].length; ++j){ document.write( a[i][j] + "<br>"); } } </script> </head><body> </body></html> |
A példában először létrehozunk egy 3 elemű tömböt. Utána egy for ciklus segítségével minden tömb elemben egy további 5 elemű tömbböt hozunk létre, melyek értéket adunk, mégpedig a saját elemszámukat, majd kiiratjuk őket.
Készült : 1999-10-11. Lengyel Sándor