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şShare on Facebook0Share on Google+0Email this to someoneShare on LinkedIn0Tweet about this on TwitterPin on Pinterest0

için 2 cevap

  1. Örümcek Adam diyor ki:

    Paylaşım için teşekkürler. Güzel anlatım olmuş

  2. Danyelle diyor ki:

    Out of interest, why are you using

    1
    .valueOf()

    ? This seems to work for me:

    1
    Number.prototype.between = finctuon(x, y) {  return (this >= x && this <= y);}

Bir Cevap Yazın