Dizi aslında normal tanımladığımız değişkenle aynı şeydir. Yani normal bir değişken tanımladığınızda bellekte bir adreste o değişken için bir yer ayrılır. Dizi tanımladığınızda ise dizinin boyutu kadar bellekte arka arkaya sıralı bir şekilde yer ayrılır.
Aşağıda var ornekDizi; diyerek tipi belli olmayan bir değişken yarattık. Bu değişkenin içerisine diziyi yerleştirdiğimiz zaman değişkenin tipi dizi olacaktır. Diziyi de new Array(5); ifadesiyle oluşturup atıyoruz.
Dizi boyutuna 5 yazarak bellekten 5 elemanlık yer ayırmış oluyoruz.Gördüğünüz gibi diziyi oluştururken new ifadesi kullandık çünkü diziler birer objedir.
<script> var ornekDizi = new Array(5); </script>
1. DIZIYE ELEMAN ATAMA & INDIS KAVRAMI
Diziye eleman atanırken dizi adreslerine indisler aracılığıyla ulaşılır. İndisleri “elemanNumarası-1” şeklinde düşünebilirsiniz. Yani dizi indisleri 0’dan başlar. Eğer ki diziye 1. elemanı atamak istiyorsanız 0. 2. elemanı atamak istiyorsanız 1. indisi kullanmalısınız. Aşağıdaki örnekte 5 eleman boyutu olan diziye 5 adet eleman atanmıştır. Diziye eleman atama ve indis ilişkisini görebilirsiniz.
<script> var ornekDizi = new Array(5); var ornekDizi2 = [3,5,6,7]; ornekDizi[0] ="1.eleman"; ornekDizi[1] ="2.eleman"; ornekDizi[2] ="3.eleman"; ornekDizi[3] ="4.eleman"; ornekDizi[4] ="5.eleman"; </script>
Dizi oluştururken dikkat edilecek hususlar
* Dizi değişken adı normal değişken kurallarına uymalıdır.
* Dizide farklı türde veriler olabilir ; örneğin bir dizi içerisinde “selam”, 5 , true gibi elemanlar olabilir.
* Dizi indeksi ya da indisi sıfırdan başlar.
2. DIZI ELEMANLARINI EKRANA YAZDIRMA
Dizi elemanlarının tamamını ekrana yazdırmak istersek genellikle döngü kullanırız. Bunun dışında döngü kullanmadan da ekrana dizi elemanlarını yazdırabiliriz.
<script> var ornekDizi = new Array(5); ornekDizi[0] ="1.eleman"; ornekDizi[1] ="2.eleman"; ornekDizi[2] ="3.eleman"; ornekDizi[3] ="4.eleman"; ornekDizi[4] ="5.eleman"; document.writeln(ornekDizi[3]); //dizinin 4. elemanını ekrana yazdirir. for(var i=0 ; i<=ornekDizi.length-1;i++) //tüm diziyi ekrana yazdirir. { document.writeln("dizinin "+(i+1)+" elemani"+ornekDizi[i]); } </script>
3. DIZIYI PARAMETRE OLARAK FONKSIYONA GÖNDERME
<script> var ornekDizi = new Array(5); ornekDizi[0] ="3"; ornekDizi[1] ="6"; ornekDizi[2] ="9"; ornekDizi[3] ="12"; ornekDizi[4] ="15"; function ikiKati(x) { for(var i=0 ; i<=x.length-1;i++) x[i] = x[i]*2; } function ekranaYazdir(x) { for(var i=0 ; i<=x.length-1;i++) //tüm diziyi ekrana yazdirir. { document.writeln("dizinin "+(i+1)+" elemani"+ornekDizi[i]); } } ekranaYazdir(ornekDizi); ikiKati(ornekDizi); document.writeline("Fonksyona girdikten sonra dizi"); ekranaYazdir(ornekDizi); </script>
4. SIK KULLANILAN DİZİ METOTLARI
dizi.ozellik;
dizi.method( );
<script> var ornekDizi = [3,5,6,7]; document.writeln( ornekDizi.length ); //dizideki eleman sayisini döndürür. ornekDizi.sort(); //dizi elemanlarinin alfabetik çevirir. ornekDizi.reverse(); //dizi elemanlarinin sirasini tersine çevirir. ornekDizi.push(eleman); //dizinin sonuna eleman ekler. ornekDizi.unshift(eleman); //dizinin başına eleman ekler. ornekDizi.concat(dizi2); //dizi2 yi dizinin başına ekler. ornekDizi.join(kar); //dizi içindeki elemanları belli bir karakterle birleştirir ve string/metin olarak döndürür. ornekDizi.slice(ibas,ison); //dizinin ibas ile ison arasındaki bölümünü döndürür. ornekDizi.shift(); //dizinin ilk elemanını döndürür ve diziden siler. ornekDizi.pop(); //dizinin son elemanını döndürür ve diziden siler. ornekDizi.indexOf(); //dizi elemanlarının dizideki konumunu( indisini ) döndürür. ornekDizi.toString( ); //dizi elemanlarını string/metin olarak döndürür. </script>