JavaScript Ders-5 (Diziler / Array)
Dizi oluşturmak
1 2 3 4 | var gunler=new Array(); //ya da var gunler=[]; |
Diziye eleman tanımlamak
1 2 3 4 5 6 7 8 9 10 11 | var bilgi=new Array("evren",2,3,true); //ya da var bilgi=["evren",2,3,true]; //ya da var bilgi=new Array(); bilgi[0]="evren"; bilgi[1]=2; bilgi[2]=3; bilgi[3]=true; |
Dizi tanımlarken operatör kullanmak
1 | var bilgi=new Array("evren"+"Akar",2+3); |
Dizi tanımlarken boyutunu belirleme
1 2 3 4 5 6 7 8 9 | var deger=new Array(3); //Dizinin boyutu 3 olarak belirlendi. deger[0]="a"; deger[1]=2; deger[2]=true; document.write(deger.length+"<br>"); //Yeni değer ekledik. deger[3]=false; document.write(deger.length+"<br>"); |
Dizi değişkenlerine ulaşma ve değiştirme
1 2 3 4 5 6 7 8 9 10 | var veri=new Array("evren",3,true,4.3,"naber"); document.write(veri[4]); //4. değişkeni döner. var veri=new Array("evren",3,true,4.3,"naber"); veri[0]="değiştir"; document.write(veri[0]); //Yeni eklenen (değişen) 0 değişkenini döner. var veri=new Array("evren",3,true,4.3,"naber"); var abc=veri[0]; document.write(abc); //0. veriyi döner. |
Boyutunu öğrenmek için “.length” kullanılır.
1 2 3 4 5 | var veri=new Array("evren",3,true,4.3,"naber"); document.write(veri.length); //Boyutu (eleman sayısını) döner. var veri=new Array("evren",3,true,4.3,"naber"); document.write("Dizi Eleman Sayısı ="+veri.length+"<br>"); |
Örnek:i sıfırdan her döngüde +1 artarak gidiyor. i’nin değeri toplam eleman değerinden 1 eksik oluncaya kadar her döngüde dizi içerisindeki bir elemanı yazar.
1 2 3 4 5 6 | var veri=new Array("evren",3,true,4.3,"naber"); document.write("<u>Dizinin Elemanları</u>"+"<br>"); for(var i=0;i<veri.length;i++) { document.write(veri[i]+"<br>"); } |
Dizi elemanlarına sadece ismini kullanarak ulaşabiliriz.
1 2 | var veri=new Array("evren",3,true,4.3,"naber"); document.write(veri); |
Dizi değişkenlerine eleman eklemek ve silmek
İndeks numarası ile ekleme
1 2 3 | var veri=new Array("evren",3,true,4.3,"naber"); veri[5]="5. eleman hacı"; document.write(veri.length); |
Push dizinin sonuna eleman ekler.
1 2 3 4 | var veri=new Array("evren",3,true,4.3,"naber"); veri.push("yeni değer 1","yeni değer 2"); veri.push("deneme"); document.write(veri+"<br>"+"Dizi boyutu"+"<br>"+veri.length); |
Unshift (Elemanı dizinin en başına ekler)
1 2 3 | var veri=new Array("evren",3,true,4.3,"naber"); veri.unshift("enbaşa ekle"); document.write(veri); |
Splice (Eleman siler/Koparır)
1 2 3 4 5 6 | //(parametre1,parametre2) //parametre1:Silme işlemine başlanacak eleman //parametre2:Silinecek eleman sayısı var myarray=new Array("evren",3,true,4.3,"naber"); myarray.splice(0,1); document.write(myarray); |
Splice (Eleman eklemek)
1 2 3 4 5 | var myarray=new Array("evren",3,true,4.3,"naber"); myarray.splice(2,0,"eleman","2.eleman"); document.write(myarray); //2:dizinin ikinci ekemanından başla, 0:bu değer sıfır olursa diziden hiç eleman silinmez. //Dizinin 2. elemanından sonra belirttiğimiz elemanları ekler. |
Aynı anda eklemek ve silmek (Splice)
1 2 3 4 | var myarray=new Array("evren",3,true,4.3,"naber"); myarray.splice(2,1,"yeni1","yeni2"); document.write(myarray); //true silindi ve 2.elemandan sonra iki eleman eklendi |
Örnek:
1 2 3 4 5 6 7 8 | var myarray=new Array(2,1,"c#","asp.net"); var my_dizi=myarray.splice(1,3); for(var i=0;i< my_dizi.length;i++) { document.write(my_dizi[i]); document.write("<br>"); } //1. elemandan itibaren başlar ve ondan sonraki 3 elemanı döner. |
Concat() Birden fazla dizi değişkenini tek bir dizi içerisinde toplamaya yarar.
1 2 3 4 5 6 7 8 | var myarray=new Array("evren",3,true,4.3,"naber"); var my_dizi=[1,4,"hop",5+9]; var yeni_dizi=myarray.concat(my_dizi); for(var i=0;i<yeni_dizi.length;i++) { document.write(yeni_dizi[i]); document.write("<br>"); } |
Pop() Dizi içerisindeki en büyük indeks numaralı elemanı siler.
1 2 3 4 5 6 7 8 | var bilgi=new Array("evren",3,true,4.3,"naber"); bilgi.pop(); for(var i=0;i<bilgi.length;i++) { document.write(bilgi[i]+" "); } document.write("<br>"); //naber'i sildi. |
Shift() Dizi içerisindeki en küçük (0) indeks numaralı elemanı siler.
1 2 3 4 5 6 7 | var bilgi=new Array("evren",3,true,4.3,"naber"); bilgi.shift(); for(var i=0;i<bilgi.length;i++) { document.write(bilgi[i]+" "); } //evren'i sildi. |
Delete Operatörü (Belirtilen indeks numarasına sahip elemanı saklar ama dizinin boyutunu değiştirmez)
1 2 3 4 5 6 7 8 | var bilgi=new Array("evren",3,true,4.3,"naber"); delete bilgi[2]; for(var i=0;i<bilgi.length;i++) { document.write(bilgi[i]+" "); } document.write("<br>"); document.write("Dizinin eleman sayısı ="+bilgi.length); |
Dizi değişkenleri içerisindeki elemanları sıralamak için kullanılan metodlar
Sort() Küçükten büyüğe sıralar (Büyük harf küçük harften önce gelir her zaman)
1 2 3 4 5 6 7 8 9 10 11 12 13 | var veri=new Array("evren","javascript","html","aspx","zagor"); veri.sort() for(var i=0;i<veri.length;i++) { if(i==veri.length-1) { document.write(veri[i]); } else { document.write(veri[i]+"-"); } } |
Sort() küçükten büyüğe (ascending) sıralar. İlk önce 1. rakama bakar daha sonra 2. rakama bakar. Numeric ifadeleri string olarak görür.
1 2 3 4 5 6 7 8 9 10 11 12 13 | var myarray=new Array(8,10,19,50,83,160); myarray.sort() for(i=0;i<myarray.length;i++) { if(i==myarray.length-1) { document.write(myarray[i]); } else { document.write(myarray[i]+"-"); } } |
String ve number karışık sıralama
1 2 3 4 5 6 | var myarray=new Array(8,10,50,160,"Az","AZ","evren","ortaköy","ajax"); myarray.sort(); for(var i=0;i<myarray.length;i++) { document.write(myarray[i]+","); } |
Küçükten büyüğe numeric sıralama yapmak için ekstradan fonksiyon yazmamız gerekiyor.
1 2 3 4 5 6 | var myarray=new Array(2,6,8,34,78,89,160,120,210); myarray.sort(function(a,b){return(a-b)}) for(var i=0;i<myarray.length;i++) { document.write(myarray[i]+","); } |
Küçükten büyüğe numeric sıralama yapmak için ekstradan fonksiyon yazmamız gerekiyor.
1 2 3 4 5 6 | var myarray=new Array(2,6,210,34,78,89,8,160,120); myarray.sort(function(a,b){return(b-a)}) for(var i=0;i<myarray.length;i++) { document.write(myarray[i]+","); } |
reverse() metodu dizi içerisindeki sıralamayı ters çevirir
1 2 3 4 5 6 | var myarray=new Array("evren",34,"js",167,78); myarray.reverse(); for(var i=0;i<myarray.length;i++) { document.write(myarray[i]+" "); } |
indexOf() elemanın index numarasını döner. Eğer eleman dizide yoksa -1 döner
1 2 3 | var myarray=new Array("javascript",2,1,"string"); document.write(myarray.indexOf(1)); //1'in index numarası 2'dir. document.write(myarray.indexOf(3)); //3'ün olmadığından -1'döner. |
toString() dizi içerisindeki elemanları string veri türüne çevirir ve aralarına virgül koyar.
join() toString ile aynı görevi yapar ama virgül yerine istediğiniz ifadeyi yazmanızı sağlar.
1 2 | var a=["evren",3,"js",5,147]; document.write(a.join("*")); |
Çok boyutlu diziler ve dizi içerisindeki dizinin elemanlarına ulaşmak
1 2 | var myarray=new Array(3,5,"evrenakar",new Array(true,false)); document.write(myarray[3][1]); //myarray dizisi içerisindeki 3 index numaralı elemanın(dizinin), 1 index numaralı elemanı |
Tüm örnekler uygulamalı. (Kod satırının çalışması için taksimleri “//” kaldırın)
Paylaşım için teşekkürler. Güzel anlatım olmuş
Out of interest, why are you using
? This seems to work for me: