Array Metotlar

Dizilerin Metotları

Eleman Ekleme ve Çıkarma

.push() | .pop() | .unshift() | .shift()

Bir array'in sonuna değer eklemek için .push() metodu kullanılır. Örnek.

let gunler = ['Pazartesi', 'Salı', 'Çarşamba'];
gunler.push('Perşembe'); // Eklenecek değer parantez içinde verilir.
alert(gunler);

.push() metodu ile birden fazla değer aynı anda eklenebilir. Örnek.

let gunler = ['Pazartesi', 'Salı', 'Çarşamba'];
gunler.push('Perşembe','Cuma','Cumartesi','Pazar'); // Eklenecek değerler verilir.
alert(gunler);

Bir array'in sonundan değer silmek için .pop() metodu kullanılır. Örnek.

let gunler = ['Pazartesi', 'Salı', 'Çarşamba'];
gunler.pop(); // Sonuncuyu doğrudan siler. Herhangi bir değer verilmez.
alert(gunler);

Bir array'in başına değer eklemek için .unshift() metodu kullanılır. Örnek.

let gunler = ['Salı', 'Çarşamba', 'Perşembe'];
gunler.unshift('Pazartesi'); // Eklenecek değer parantez içinde verilir.
alert(gunler);

.unshift() metodu ile birden fazla değer aynı anda eklenebilir. Örnek.

let gunler = ['Çarşamba', 'Perşembe','Cuma'];
gunler.unshift('Pazartesi','Salı'); // Eklenecek değerler verilir.
alert(gunler);

Bir array'in başından değer silmek için .shift() metodu kullanılır. Örnek.

let gunler = ['Pazartesi', 'Salı', 'Çarşamba'];
gunler.shift(); // Birinciyi doğrudan siler. Herhangi bir değer verilmez.
alert(gunler);

Array'in başından yapılan işlemler ( .shift() ve .unshift() ) donanım üzerinde çok işlem gerektirdiği için genellikle kullanılmazlar. Performansı kötü etkiler. Sonundan yapılan işlemler oldukça verimlidir ve genelde bunlar ( .push() ve .pop() ) kullanılır.

Dilimleme, Birleştirme, Sıralama

.slice() | .concat() | .join() | .splice() | .sort() | .reverse()

.slice() ile diziyi indislere göre sıralı şekilde dilimleyebiliriz. Örnek.

let evcilHayvanlar = ['kedi','köpek','kuş','balık','kaplumbağa'];
alert( evcilHayvanlar.slice(2) ); // ilk indisten (0'dan) 2.indise kadar
alert( evcilHayvanlar.slice(1,4) ); // 1.indisten 4.indise kadar
alert( evcilHayvanlar.slice(-2) ); // son-2 indisten ilk indise kadar
alert( evcilHayvanlar.slice(-3,-1) ); // son-3 indisten son indise kadar
alert( evcilHayvanlar.slice(3,2) ); // boş çıktı: 3.indisten 2.indise gidemez.
alert( evcilHayvanlar.slice(3,3) ); // boş çıktı: 3.indisten 3.indise gidemez.
alert( evcilHayvanlar); // orijinal dizimizde hiçbir değişiklik yok.

let yeniEvciller = evcilHayvanlar.slice(1,3); // bir dilimi yeni değişken atadık.
alert(yeniEvciller);

.slice() metodu orijinal dizi üzerinde bir değişiklik yapmaz, bir kopyasını oluşturur. Bu sebeple güvenlidir, dilimlenen değer yeni bir değişken olarak ifade edilebilir. Örnek.

let evcilHayvanlar = ['kedi','köpek','kuş','balık','kaplumbağa'];
let yeniEvciller = evcilHayvanlar.slice(1,3); // bir dilimi değişken atadık.
alert(yeniEvciller);

.concat() ile dizilerin sonuna başka bir dizinin değerlerini toplu olarak ekleyebiliriz. Örnek.

let sehirC = ['çanakkale','çankırı','çorum'];
let sehirD = ['denizli','diyarbakır','düzce'];
let sehirE = ['edirne','elazığ','erzurum','eskişehir'];
alert( sehirC.concat(sehirD) ); // dizi değerlerini ekledik.    
alert( sehirC.concat(sehirD,sehirE) ); // birkaç dizi de aynı anda kullanılabilir.

.concat() metodu orijinal dizi üzerinde bir değişiklik yapmaz, bir kopyasını oluşturur. Bu sebeple güvenlidir, birleştirilmiş dizi yeni bir değişken olarak ifade edilebilir. Örnek.

let sehirC = ['çanakkale','çankırı','çorum'];
let sehirD = ['denizli','diyarbakır','düzce'];
let sehirE = ['edirne','elazığ','erzurum','eskişehir'];
let sehirCED = sehirC.concat(sehirD,sehirE);
alert(sehirC);
alert(sehirCED);

.join() ile dizi değerlerini string olarak birleştirebiliriz. Örnek.

let dil = ['J','A','V','A','S','C','R','I','P','T'];
alert( dil.join() ); // parametresiz kullanılabilir.
alert( dil.join('') ); //Değerlerin arasına konacak ifade parametre olarak yazılır.
alert( dil.join('-') ); // J-A-V-A-S-C-R-I-P-T
alert( typeof( dil.join('*') ) ); // string

.join() metodu orijinal dizi üzerinde bir değişiklik yapmaz, bir kopyasını oluşturur. Bu sebeple güvenlidir, birleştirilmiş dizi yeni bir değişken olarak ifade edilebilir. Örnek.

let dil = ['J','A','V','A','S','C','R','I','P','T'];
let seperator = '_';
let yeniDil = dil.join(seperator);
alert(yeniDil);

.splice() ile dizide ekleme, çıkarma, değiştirme işlemlerini yapabilirsiniz. İsveç çakısı gibidir. Kullanımı .splice(indis, cikarilacakAdet, ekle1, ekle2,..., ekleN) .

.splice() ile ekleme örnekleri:

//ekleme örnekleri
let futbolTakimlari = ['Trabzonspor','Beşiktaş','Galatasaray','Fenerbahçe'];

//2.indise git, imleçten itibaren 0 tane değer sil, 'Malatyaspor' ekle
futbolTakimlari.splice(2,0,'Malatyaspor'); 
alert(futbolTakimlari);

//son-1. indise git, 0 değer sil, 'Sivasspor','Antalyaspor' ve 'Samsunspor' ekle
futbolTakimlari.splice(-1,0,'Sivasspor','Antalyaspor','Samsunspor'); 
alert(futbolTakimlari);

.splice() ile çıkarma örnekleri

//çıkarma örnekleri
let futbolTakimlari = ['Trabzonspor','Beşiktaş','Galatasaray','Fenerbahçe'];

//2.indise git, imleçten itibaren 2 tane değer sil
futbolTakimlari.splice(2,2); 
alert(futbolTakimlari);

//son-1.indise git, imleçten itibaren 1 değer sil
futbolTakimlari.splice(-1,1); 
alert(futbolTakimlari);

.splice() ile değiştirme örnekleri

//değiştirme örnekleri
let futbolTakimlari = ['Trabzonspor','Beşiktaş','Galatasaray','Fenerbahçe'];

//1.indise git, imleçten itibaren 1 değeri 'Malatyaspor' ile değiştir.
futbolTakimlari.splice(1,1,'Malatyaspor'); 
alert(futbolTakimlari);

//1.indise git, imleçten itibaren 2 değeri 'Ankaragücü' ve 'Adana Demir Spor' ile değiş.
futbolTakimlari.splice(1,2,'Ankaragücü','Adana Demir Spor'); 
alert(futbolTakimlari);

.splice() metodu orijinal dizi üzerinde değişiklik yapar. Bu sebeple güvenli değildir. Güvenli olarak işlem yapabilmek için aynı şekilde kullanılabilen .toSpliced() metodu kullanılmalıdır. .toSpliced() metodu orijinal dizi üzerinde işlem yapmaz. Örnek.

//.toSpliced() kullanımı
let futbolTakimlari = ['Trabzonspor','Beşiktaş','Galatasaray','Fenerbahçe'];

//0.indise git, imleçten itibaren 1 değeri 'Malatyaspor' ile değiştir.
alert( futbolTakimlari.toSpliced(0,1,'Malatyaspor') );
alert(futbolTakimlari); // orijinal dizi değişmedi.

.sort() ile dizinin elemanlarını alfabetik olarak sıralayabiliriz. Örnek.

let isimler = ['Alparslan','Yusuf','Göktuğ','Zeynep','Defne','Asel'];
let yaslar = [1,12,22,39,3,101];

isimler.sort();
alert(isimler); // Alparslan,Asel,Defne,Göktuğ,Yusuf,Zeynep

yaslar.sort();
alert(yaslar); // 1,101,12,22,3,39 (!! Alfabetik olarak sıralar)

.sort() metodu orijinal dizi üzerinde değişiklik yapar. Bu sebeple güvenli değildir. Güvenli olarak işlem yapabilmek için aynı şekilde kullanılabilen .toSorted() metodu kullanılmalıdır. .toSorted() metodu orijinal dizi üzerinde işlem yapmaz. Örnek.

let dizi = ['Alparslan','Zeynep',1,101];
alert( dizi.toSorted() ); // 1,101,Alparslan,Zeynep
alert(dizi); // orijinal dizi değişmedi.

.reverse() metodu ile diziyi tersine çevirebiliriz. Örnek.

let dizi = ['T','R',1,9,2,3];
dizi.reverse();
alert(dizi); // 3,2,9,1,R,T

.reverse() metodu orijinal dizi üzerinde değişiklik yapar. Bu sebeple güvenli değildir. Güvenli olarak işlem yapabilmek için aynı şekilde kullanılabilen .toReversed() metodu kullanılmalıdır. .toReversed() metodu orijinal dizi üzerinde işlem yapmaz. Örnek.

let dizi = ['T','R',1,9,2,3];
alert( dizi.toReversed() ); // 3,2,9,1,R,T
alert(dizi); // T,R,1,9,2,3

Arama ve Pozisyon Bulma

.indexOf() | .lastIndexOf() | .includes()

Array'lerin arama metotları string'lere oldukça benzerdir.

.indexOf() metodu ile değeri bilinen bir değerin baştan (soldan sağa) ilk indisini bulabiliriz. Değer yoksa -1 döner. Örnek.

let harfler = ['A','B','C','D'];
alert( harfler.indexOf('A') ); // 0
alert( harfler.indexOf('C') ); // 2
alert( harfler.indexOf('F') ); // -1

.lastIndexOf() metodu ile değeri bilinen bir değerin sondan (sağdan sola) ilk indisini bulabiliriz. Değer yoksa -1 döner. Örnek.

let harfler = ['A','B','C','D','C','B','A'];
alert( harfler.lastIndexOf('A') ); // 6
alert( harfler.lastIndexOf('C') ); // 4
alert( harfler.lastIndexOf('F') ); // -1

.includes() metodu ile bir değerin dizideki varlığı sorgulanır, varsa true yoksa false döner. Örnek.

let harfler = ['A','B','C','D'];
alert( harfler.includes('A') ); // true
alert( harfler.includes('AA') ); // false

Last updated