|
DİZİLER
Diziler programcılığın temel konularından biridir. Dizileri değişkenler kümesi şeklinde tanımlayabiliriz. Bellekte aynı isim altında saklanan değerleri ifade eder; değerler new Array(...) kodu kullanılarak girilir. Dizilerin iki yazım türü vardır: |
| 1. Doğrudan Değer Atama |
new Array() ile diziyi açarak, parantez içerisine dizi elemanları yazılır.İlk eleman 0. indeks değeri alır. Burada hafta isimli bir dizi tanımlanıyor ve alacağı değerler parantez içerisine yazılıyor. hafta[0] bize "pazartesi" yi verir. |
var dizinin_Adı = new Array(unsur1,unsur2, unsur3...unsurN)
var hafta = new Array("pazartesi", "salı", "çarşamba", "perşembe", "cuma", "cumartesi", "pazar")
|
| |
| NOT: dizi içerisine yazılacak değerler string değilse tırnak içine alınmaz. |
| |
var kusDizi = new Array("bülbül","kanarya"," muhabbet", "papagan")
|
Diziler sıfırdan itibaren numaralanır; yani yukarıdaki örnekte dizinin birinci üyesi, kusDizi[0], ikinci üyesi kusDizi[1], üçüncü üyesi kusDizi[2], dördüncü üyesi ise kusDizi[3] diye anılır. Burada örneğin kusDizi[2] değişkeni "muhabbet" değerini taşır. İlerde bu değeri değiştirmek ve diyelim ki "Saka" yapmak istersek, Javascript kodumuzun uygun yerinde şunu yazarız:
|
kusDizi[2]="saka"
|
NOT: Diziler Javascript açısından nesne sayılırlar. Dolayısıyla, nesne oldukları için özellikleri (property) vardır. Örneğin, oluşturulan dizi-değişkenin kaç üyesi olduğu, "kusDizi.length" özelliğinin içinde yazılıdır. |
<script language="Javascript">
<!--
var eray=new Array("ad","soyad","yaş","şehir","ilçe")
document.writeln(eray)
-->
</script>
|
Yukarıda eray ismiyle bir dizi tanımlanmış ve dizi içerisine sırasıyla; ad-soyad-yaş-şehir-ilçe string değerleri yazılmış. Yazdırma işlemi sonucunda tüm bu kelimeler yanyana yazılacaktır. |
<script language="Javascript">
<!--
var eray=new Array("ad","soyad","yaş","eeee","ffff")
document.writeln(eray[0])
-->
</script>
|
Burada tanımlanan eray dizi değişkeninin sadece ilk değeri ( 0.index) ekranda yazdırılıyor. Yani kod çalıştığında ekranda "ad" yazacaktır. |
|
| |
| 2. Dizi Uznunluğu Tanımlayarak Değer Atama |
new Array() ile dizi açılır ancak parantez içerisine sadece dizinin uzunluğu (kaç değişkenden oluştuğu sayısı) yazılır. Hemen ardından, veya daha sonrada olabilir , değişken[0] şeklinde dizi değerleri girilir. Aşağıda hafta isimli 0-6 (yani toplam 7) elemanlı bir dizi değişkeni tanımlanıyor ve hemen ardından tek tek dizi değerleri giriliyor. Bu tarz bir tanımlanama dizi değerlerini kullanıcıdan almak istediğimiz zaman yararlı olacaktır.
|
var hafta = new Array(6)
hafta[0] = "pazartesi"
hafta[1] = "salı"
hafta[2] = "çarşamba"
hafta[3] = "perşembe"
hafta[4] = "cuma"
hafta[5] = "cumartesi"
hafta[6] = "pazar"
|
| |
| Örneğin kullanıcıdan 10 tane sayı girmesini istersek; |
| |
<pre>
<script language="Javascript">
<!--
var sayilar=new Array(9)
for ( i=0 ; i<=9 ; i++) {
sayilar[i] = prompt ( i+1+ " . sayıyı girin")
document.writeln ( i+1 , ". sayı= " , sayilar[i] )
}
document.writeln ( "girdiğiniz tüm sayılar : ", sayilar )
-->
</script>
</pre>
|
| |
| Burada var sayilar=new Array(9) komutuyla bellekte sayilar isimli dizi değişkeni için 10 bölümlük bir alan yaratılıyor (0-9) ve daha sonra for döngüsü ve propmt ilekullanıcıdan tek tek sayılar isteniyor. Her bir sayı girildikten sonra sayilar isimli dizi değişkeninin sayilar[i] değeri olarak kaydediliyor ve ekranda "1. sayı = x" şeklinde yazdırılıyor. 10 sayı girildikten sonra for döngüsü bitiyor ve ekranda girilen tüm sayılar yanyana yazdırılıyor. |
| |
| Çok Boyutlu Diziler |
Diziler tek boyutlu olmyabilir. Şu ana kadar tek boyutlu dizileri gördük, oysa çok boyutlu diziler kullanmamız gerekebilir. JavaScript`te tek boyutlu bir dizinin her elemanını yeni bir dizi haline getirip, iki boyutlu dizi haline getirebiliriz: Örneğin hafta=new Array(6,1) şeklinde bir tanımlama da, hafta değişkeniiçerisine 7*2 =14 tane değer girilebilir. Burada 6 sayısı dizinin ilk boyutudur ve toplam 7 (0-6) değer alır. 1 sayısı ise dizinin ikinci veya alt boyutudur ve toplam 2 (0-1) değer alır. Başka bir deyişle birinci boyuttaki 7 değerde ayrı etten iki değer alır. [0][0] , [0][1] , [1][0] , [1][1] , [2][0] , [2]1] ..........gibi... |
<pre>
<script language="JavaScript">
var hafta = new Array (6,1)
for ( i=0; i<=6; i++) {
hafta[i]= new Array()
}
hafta[0][0] = "pazartesi sabahı"
hafta[0][1] = "pazartesi akşamı"
hafta[1][0] = "salı sabahı"
hafta[1][1] = "salı akşamı"
hafta[2][0] = "çarşamba sabahı"
hafta[2][1] = "çarşamba akşamı"
hafta[3][0] = "perşembe sabahı"
hafta[3][1] = "perşembe akşamı"
hafta[4][0] = "cuma sabahı"
hafta[4][1] = "cuma akşamı"
hafta[5][0] = "cumartesi sabahı"
hafta[5][1] = "cumartesi akşamı"
hafta[6][0] = "pazar sabahı"
hafta[6][1] = "pazar akşamı"
document.writeln(hafta)
</script>
</pre>
|
| |
Burada öncelikle var hafta = new Array (6,1) komutuyla 2 boyutlu bir hafta dizisi tanımlanıyor (6 ve 1 uzunluklarında). Yani ana dizi 7 (0-6)değerden alt diziise 2 (0-1)değerden oluşuyor. Daha sonra for döngüsü ile her bir hafta[i] değeri
hafta[i]= new Array() komutuyla yeni bir dizi olarak tanımlanıyor. Dikkat edilirse burada new Array içerisinde dizi uzunluğu tekrar belirtilmiyor.Çünkü başta hafta = new Array (6,1) komutuyla alt dizinin uzunluğuda belirtilmişti.Daha sonra dizi değerleri hafta[0][0] = " " şeklinde tek tek giriliyor.Yani herbir hafta[i] değerinin hafta[i][0] ve hafta[i][1] olmak üzere iki alt değeri oluştutuluyor.Son olarak document.writeln(hafta) komutuyla tüm değerler ardarda ekranda yazdırılıyor. |
| |
|