Array - Dizi

Bir array nesnesi tanımlamak için köşeli parantezler ( [] ) kullanılır ve her bir değerin (value) arasına virgül ( , ) konur. Örnek.

let gunler = ['Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi','Pazar'];
alert ( typeof(gunler) ); //object çıktısı verir ve dizi nesnesidir.
alert(gunler);

Array'lerin içerisindeki değerler farklı veri tiplerinde olabilir. Doğrudan bir değer yerine bir değişkeni de tutabilirler. Örnek.

let str = 'Karakter Dizisi';
let veriTipleri = [str, 2023, true, ['Başka', 1, 'array']];
alert(veriTipleri);

Array'in uzunluğu dizi nesnesinin .length anahtarı ile dizi uzunluğu ile elde edilir.

let gunler = ['Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi','Pazar'];
alert ( gunler.length ); // 7 çıktısı verir.

Array'deki değerler tamsayı artan sıralıdır. İlk sıra 0. indisten başlar. Array'lerin değerlerine sırayla şu şekilde erişilir.

let gunler = [
  'Pazartesi', //0.indis
  'Salı', //1.indis
  'Çarşamba', //2.indis
  'Perşembe', //3.indis
  'Cuma', //4.indis
  'Cumartesi', //5.indis
  'Pazar' //6.indis
];
alert( gunler[0] ); // indisi değiştirerek kontrol ediniz.

.at() metodu ile de değerlere erişilebilir.

let ulkeler = [
  ['Türkiye', 'Ankara',1923], // 0.indis
  ['KKTC', 'Lefkoşa',1983 ], // 1.indis
  ['Azerbaycan', 'Bakü',1991] // 2.indis
];
alert( ulkeler.at(0) ); // indisi değiştirerek kontrol ediniz.

Array'de indisi ile eriştiğimiz bir değeri değiştirebiliriz. Örnek.

let dizi = ['Pazartesi', 'Salı', 'Çarşamba'];
dizi[0] = 'Ocak'; //0.indisteki elemanı 'Ocak' ile değiştirdik.
dizi[1] = 'Şubat'; //1.indisteki elemanı 'Şubat' ile değiştirdik.
dizi[2] = 'Mart'; //2.indisteki elemanı 'Mart' ile değiştirdik.
alert(dizi);

Array nesnesinin boyutu dinamiktir bu sayede istediğimiz indise değer ekleyebiliriz. Örnek.

let dizi = ['Pazartesi', 'Salı', 'Çarşamba'];
dizi[4] = 'Cuma'; //4.indise 'Cuma' değerini ekledik.
dizi[5] = 'Cumartesi'; //5.indise 'Cumartesi' değerini ekledik.
alert(dizi);

Yukarıdaki örnekte 3.indisi atladık. Peki 3.indiste ne oluştu?

let dizi = ['Pazartesi', 'Salı', 'Çarşamba'];
dizi[4] = 'Cuma'; //4.indise 'Cuma' değerini ekledik.
dizi[5] = 'Cumartesi'; //5.indise 'Cumartesi' değerini ekledik.
alert( dizi[3] ); // undefined çıktısı verir.
alert(dizi); //Pazartesi,Salı,Çarşamba,,Cuma,Cumartesi
//3.indis mevcuttur, yeri ayrılmıştır.

Bu yöntemle değer eklemek için ekleyeceğimiz indisi bilmek gerekir. Aksi takdirde var olan bir değeri değiştirip üzerine yazabilir ve veriyi kaybedebiliriz. Bu sebeple zahmetlidir.

Değerlere sırayla erişmeyi string tipinde de kullanmıştık. Fakat string tipinde indis ile eriştiğiniz değeri değiştiremez veya silemezsiniz. (İlkel tiplerin hafıza birimlerinin boyutu belirlidir.)

Negatif bir indis verirseniz herhangi bir hata vermez fakat diziye de eklenmez.

let dizi = ['Pazartesi', 'Salı', 'Çarşamba'];
dizi[-1] = 'Perşertesi'; //-1.indes yok, ekleyemez, hata vermez.
alert(dizi);

Array'lerden değer silmenin yöntemi delete komutu değildir. Bu yöntemle değer silinemez sadece değeri undefined olarak atanır. Örnek.

let gunler = ['Pazartesi', 'Salı', 'Çarşamba'];
delete gunler[1];
alert(gunler); // 'Pazartesi,,Çarşamba' çift virgülü farkediniz.

Dizi Kontrolü

Array.isArray()

Tüm object türlerinin tipinin object olduğunu ifade etmiştik. Object tipinde farklı türler bir arada olduğu için object bir değerin array dizisi olduğunu kontrol etmek için Array.isArray() fonksiyonu kullanılır. Örnek.

let harfler = ['A','B','C','D'];
let str = 'ABCD';
alert( Array.isArray(harfler) ); // true
alert( Array.isArray(str) ); // false

Dizi Türüne Dönüştürme

Array.from() | Array()

String bir değer veya değişken array türüne Array.from() fonksiyonu ile dönüştürülebilir. Örnek.

let dizi = Array.from('JAVASCRIPT');
alert(dizi); // J,A,V,A,S,C,R,I,P,T
alert( Array.isArray(dizi) );

Değerin tipinin string olması bir gerekliliktir. Örnek.

let sayi = 123, // nummber tipi array'a dönüşemez.
    dizi = Array.from(sayi);
alert(dizi); // boş çıktı alınır, elemanları yoktur.
alert( Array.isArray(dizi) ); // true verir fakat elemanları yoktur.

Bununla birlikte bir string'i dilimlemeden tek bir eleman olarak array yapmak isterseniz Array() fonksiyonunu kullanabilirsiniz. Örnek.

let dizi = Array('JAVASCRIPT');
alert(dizi); // Tek eleman 'JAVASACRIPT'
alert( Array.isArray(dizi) );

Last updated