7. Diziler

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>