Diziler birçok metod sunarlar. İÅleri daha kolaylaÅtırmak için bu bölüm ikiye ayrılacaktır.
Elaman silme/ekleme
Eleman eklemenin ve silmenin baÅtan ve sondan nasıl olacaÄını gördünüz:
arr.push(...items)â elemanları sona ekler,arr.pop()â sondaki elemanı çıkarır.arr.shift()â baÅlangıçtan eleman çıkarır.arr.unshift(...items)â baÅlangıça eleman ekler.
DiÄer birkaç metod ise aÅaÄıdaki gibidir.
splice
Diziden eleman nasıl silinir?
Diziler de obje olduklarından dolayı, delete kullanarak silinebilir.
let arr = ["eve", "gitmek", "istiyorum"];
delete arr[1]; // "gitmek" silinecek
alert( arr[1] ); // undefined
// Åimdi arr = ["eve", , "istiyorum"];
alert( arr.length ); // 3
Eleman silinmesine raÄmen, dizi hala 3 elemana sahip. Bunu arr.length == 3 kontrolünü yaparak görebilirsiniz.
Olması gereken de bu, çünkü delete obj.key deÄeri anahtara göre siler. Sadece bu iÅi yapar. Bu da objeler için yeterlidir. Fakat diziler için genelde istediÄimiz elamanların birbirlerinin yerleri doldurmasıdır. Bundan dolayı dizinin kısaldıÄını görmemiz lazım.
Bundan dolayı özel metodlar kullanılmalıdır.
arr.splice(str) metodu isviçre çakısı gibi her iÅe yarar. Diziye yeni bir eleman ekleyebilir ve silebilir.
Yazımı:
arr.splice(index[, deleteCount, elem1, ..., elemN])
indexâten baÅlar ve deleteCountkadar elemanı siler ve sonra elem1, ..., elemN Åeklinde yerlerine yerleÅtirir. Diziden silinen elemanları dönderir.
Bu metodu örnek ile anlamak çok daha kolaydır.
Silme iÅlemi ile baÅlayalım:
let arr = ["Ben", "JavaScript", "çalıÅıyorum"];
arr.splice(1, 1); // index 1'den 1 elaman sil
alert( arr ); // ["Ben", "çalıÅıyorum"]
Kolay deÄil mi? 1. indeksten baÅlayarak 1 eleman sildi.
Bir sonraki örnekte ise 4 eleman silinecek ve yeni bir eleman bunların yerine konulacak.
let arr = ["Ben", "Åu", "an", "JavaScript", "çalıÅıyorum"];
// İlk 4 elamanı sil ve öncesine yeni eleman ekle.
arr.splice(0, 4, "Ders")
alert( arr ) // Åimdi [Ders çalıÅıyorum]
Burada splice in silinen elemanları döndürdüÄü görülebilir.
let arr = ["Ben", "Åu", "an", "JavaScript", "çalıÅıyorum"];
// ilk iki elemanı sil.
let removed = arr.splice(0, 2);
alert( removed ); // "Ben", "Åu" <-- silinen elemanlar
splice metodu ayrıca hiçbir Åey silmeden de ekleme yapabilir. Bunun için deleteCountâu 0 yapmanız gerekmektedir:
let arr = ["Ben", "JavaScript", "çalıÅıyorum"];
// 1. indeksten
// 0 tane sil
// Sonrasında "karmaÅık" ekle
arr.splice(1, 0, "karmaÅık");
alert( arr ); // "Ben", "karmaÅık", "JavaScript", "çalıÅıyorum"
Bu ve diÄer metodlarda negatif indeksler kullanılabilir. Negatif indeksler dizinin sonundan baÅına doÄrudur. ÃrneÄin:
let arr = [1, 2, 5]
// indeks -1 ( sondan birinci )
// 0 eleman sil,
// 3 vs 4 ekle
arr.splice(-1, 0, 3, 4);
alert( arr ); // 1,2,3,4,5
slice
arr.slice metodu arr.spliceâa göre daha basittir.
Yazımı:
arr.slice(start, end)
Yeni bir dizi döndürür. Bu dizi içerisinde "start" ile "end" arasında ( "end" dahil olmadan ) tüm elemanları kopyalar. start ve end negatif olabilir. Negatif durumlarda dizi sondan deÄer baÅlar.
str.slice gibi çalıÅır fakat karakter dizisi(string) yapmak yerine alt-dizi yapar.
ÃrneÄin:
let str = "test";
let arr = ["t", "e", "s", "t"];
alert( str.slice(1, 3) ); // es
alert( arr.slice(1, 3) ); // e,s
alert( str.slice(-2) ); // st
alert( arr.slice(-2) ); // s,t
concat
arr.concat metodu dizi ile diÄer dizileri veya elemanları birbirine eklemeye yarar.
Yazımı:
arr.concat(arg1, arg2...)
İstenildiÄi kadar argümanı kabul eder, bunlar dizi veya deÄer olabilir.
Sonuç arr, ardından arg1, arg2 Åeklinde tüm dizileri ve deÄerleri içeren bir dizi olur.
EÄer bir argüman dizi ve Symbol.isConcatSpreadable özelliÄine sahip ise bunun tüm alt elemanları kopyalanır. DiÄer türlü argümanın sadece kendisi kopyalanır.
ÃrneÄin:
let arr = [1, 2];
// diziyi [3,4] ile birleÅtir
alert( arr.concat([3, 4])); // 1,2,3,4
// diziyi [3,4] ve [5,6] ile birleÅtir
alert( arr.concat([3, 4], [5, 6])); // 1,2,3,4,5,6
// diziyi [3,4] ile birleÅtir ve ardından 5, 6 ekle
alert( arr.concat([3, 4], 5, 6)); // 1,2,3,4,5,6
Normalde, dizide bulunan elemanları kopyalar. DiÄer objeler dizi olsalar bile bir bütün olarak eklenirler.
let arr = [1, 2];
let arrayLike = {
0: "something",
length: 1
};
alert( arr.concat(arrayLike) ); // 1,2,[object Object]
//[1, 2, arrayLike]
â¦Fakat dizi benzeri obje Symbol.isConcatSpreadable özelliÄine sahipse, bunların elemanları eklenir:
let arr = [1, 2];
let arrayLike = {
0: "baÅka",
1: "bir Åey",
[Symbol.isConcatSpreadable]: true,
length: 2
};
alert( arr.concat(arrayLike) ); // 1,2,baÅka,bir Åey
Dizide arama
Dizi içerisinde aramak için bazı metodlar bulunmaktadır.
indexOf/lastIndexOf ve includes
arr.indexOf, arr.lastIndexOf ve arr.includes aynı yazıma sahiptirler, ve aslında hepsi aynı iÅi yapar. Sadece karakterler yerine elemanlar üzerinde çalıÅırlar.
arr.indexOf(eleman, balangic)baslangicindeksinden itibarenelemanâı arar ve bulursa bunun indeksini döner, bulamazsa-1döner.arr.lastIndexOf(eleman, baslangic)â aynı, fakat bu saÄdan sola doÄru bakar.arr.includes(eleman, baslangic)âelemanbaslangıcâtan baÅlayarak elemanları kontrol eder. Bulursatruedöner.
ÃrneÄin:
let arr = [1, 0, false];
alert( arr.indexOf(0) ); // 1
alert( arr.indexOf(false) ); // 2
alert( arr.indexOf(null) ); // -1
alert( arr.includes(1) ); // true
Bu metodlar eÅitlik kontrolü için === kullanır. Bundan dolayı falseâa bakacak olursanız 0 ile eÅit deÄildir. Sadece false ile eÅittir.
EÄer sadece dizi içinde var olup olmadıÄını kontrol etmek istiyorsanız arr.includes tercih edilir.
find and findIndex
Objelerden oluÅma bir dizinin olduÄunu varsayın. Bazı Åartları saÄlayan objeleri nasıl bulursunuz.
Burada arr.find metodu yararlı olur.
Yazımı:
let result = arr.find(function(elaman, index, dizi) {
// eÄer aranan eleman bulunursa true döndürmeli.
});
Bu fonksiyon her eleman için tekrar tekrar çaÄırılır.
elamanelemanâı tanımlar.indexindeksâi tanımlar.arraydizinin kendisidir.
EÄer true döndürür ise arama durur ve elemanâın kendisi döner. EÄer bulunamazsa undefined döndürülür.
ÃrneÄin, kullanıcıların bulunduÄu bir dizi ve her dizide id ve isim alanları bulunsun. id == 1 olan elemanı bulalım.
let kullanicilar = [
{id: 1, isim: "Ahmet"},
{id: 2, isim: "Muzaffer"},
{id: 3, isim: "Emine"}
];
let kullanici = kullanicilar.find(eleman => eleman.id == 1);
alert(kullanici.isim); // Ahmet
Objelerin dizi içerisinde yer alması çokça karÅılaÅılan bir olaydır, bundan dolayı find metodu çok kullanıÅlıdır.
Dikkat ederseniz find metodunda sadece bir tane argüman kullanılmıÅtır item => item.id == 1. find metodunun diÄer parametreleri çok nadir olarak kullanılır.
arr.findIndex metodu da aynı find metodu gibi çalıÅır fakat elemanın kendi yerine indexâini döndürür.
filter
find metodu sadece fonksiyonu true yapan elemana bakar.
Birden fazlası için ise arr.filter(fn) kullanılabilir.
Yazımı neredeyse find ile aynıdır, fakat tek bir eleman yerine kurala uyan elemanları dizi halinde döner.
let results = arr.filter(function(eleman, index, dizi) {
// eÄer elemanlar filtreye uygunsa true döndürür.
});
ÃrneÄin:
let kullanicilar = [
{id: 1, isim: "Ahmet"},
{id: 2, isim: "Muzaffer"},
{id: 3, isim: "Emine"}
];
// ilk iki kullaniciyi döndürür.
let baziKullanicilar = kullanicilar.filter(eleman => eleman.id < 3);
alert(baziKullanicilar.length); // 2
Dizi dönüÅümleri
Bu bölüm dizinin dönüÅümleri veya yeniden sıralanması hakkındadır.
map
arr.map metodu en fazla kullanılan ve kullanıÅlı olan metodlardandır.
Yazımı:
let sonuc = arr.map(function(eleman, index, dizi) {
// eleman yerine yeni deÄer döndürür.
})
Dizinin her elemanı için fonksiyonu çalıÅtırır ve sonuçlarını dizi olarak döner.
ÃrneÄin elemanların uzunlukları ile ilgili bir deÄiÅiklik yapılabilir:
let uzunluklar = ["Bilbo", "Gandalf", "Nazgul"].map(eleman => eleman.length)
alert(uzunluklar); // 5,7,6
sort(fn)
arr.sort metodu diziyi olduÄu yerde sıralar.
ÃrneÄin:
let arr = [ 1, 2, 15 ];
// metod dizinin içeriÄini sıralar ve döndürür.
arr.sort();
alert( arr ); // 1, 15, 2
Ãıktısında bir Åey fark ettiniz mi?
Sıralama 1, 15, 2 oldu. YanlıÅ. Neden peki?
Diziler varsayılan olarak karakter sıralamasına göre sıralanırlar.
Tüm elemanlar karakter dizisine çevrilir ve karÅılaÅtırılır. Bundan dolayı karakter sırasına göre "2" > "15" karÅılaÅtırılır.
Kendi sıralamanızı yapmak için, iki argümanlı bir fonksiyonu arr.sort()'ın argüman olarak alması gerekmektedir.
Fonksiyon aÅaÄıdaki Åekilde çalıÅmalıdır:
function compare(a, b) {
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}
ÃrneÄin:
function compareNumeric(a, b) {
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}
let arr = [ 1, 2, 15 ];
arr.sort(compareNumeric);
alert(arr); // 1, 2, 15
Åimdi beklendiÄi gibi çalıÅmakta.
Ne olduÄunu düÅünürsek. arr her Åeyi tutabilir, deÄil mi? Sayı, karakter veya html elementi vs. tutabilir. İçinde bulunanları sıralamak için karÅılaÅtırmayı yapan sıralama fonksiyonuna ihtiyaç vardır. Bunun da varsayılanı karakter sıralamadır.
arr.sort(fn) metodu içinde sıralama algoritmasına sahiptir. Bu sıralamanın nasıl çalıÅtıÄına dair bir bilgimiz olmasına gerek yok (ÃoÄu zaman quicksort kullanılır). Diziyi dolanır ve elemanları verilen algoritmaya göre karÅılaÅtırır ve sıralar. Tek bilmeniz gereken fn fonksiyonunun karÅılaÅtırmayı yaptıÄıdır.
EÄer hangi elemanın karÅılaÅtırıldıÄını öÄrenmek istiyorsanız elbette bunu görebilirsiniz.
[1, -2, 15, 2, 0, 8].sort(function(a, b) {
alert( a + " <> " + b );
});
Algoritma aynı elemanı bir kaç defa çalıÅtırma ihtiyacı duyabilir, fakat yine de olduÄunca az karÅılaÅtırmaya çalıÅır.
Aslında, karÅılaÅtırma fonksiyonu âbüyükâ olduÄunu belirtmek için pozisitif sayı, âazâ olduÄunu belirtmek için negatif sayı döndürmelidir.
Bu daha kısa fonksiyon yazılmasına olanak saÄlar:
let arr = [ 1, 2, 15 ];
arr.sort(function(a, b) { return a - b; });
alert(arr); // 1, 2, 15
Ok fonksiyonlarını hatırlarsanız burada daha zarif bir biçimde sıralama yapılabilir:
arr.sort( (a, b) => a - b );
Bu, daha uzun versiyonu ile aynı Åekilde çalıÅır.
reverse
arr.reverse metodu arrâin sıralamasını terse çevirir.
ÃrneÄin:
let arr = [1, 2, 3, 4, 5];
arr.reverse();
alert( arr ); // 5,4,3,2,1
Ayrıca terse çevirmesinden sonra arrâi döndürür.
split and join
Bunun uygulamasını gerçek hayatta Åu Åekilde görmek mümkndür. Bir mesajlaÅma uygulaması yazıdÄınızı düÅünün. Gönderen kiÅi alıcıları virgülle ayırarak yazsın. ÃrneÄin Ahmet, Mehmet, Muzaffer gibi. Fakat bizim için bunun bir dizi olması karakter dizisi olmasından daha kullanıÅlıdır. Peki bu nasıl yapılmalı?
str.split(delim) tam olarak bunu yapmaktadır. Karakterleri verilen delim e göre ayırır ve sonrasında bunları dizi olarak döner.
AÅaÄıdaki örnekte isimler virgül ve ardından boÅluk yazarak ayrılmıÅtır.
let isimler = 'Bilbo, Gandalf, Nazgul';
let arr = isimler.split(', ');
for (let isim of arr) {
alert( ` ${name}'e mesaj.` ); // Bilbo'e mesaj ve diÄerleri.
}
split metodu isteÄe baÄlı ikincil bir sayısal argüman alabilir â dizinin boyutu. EÄer bu verilirse, dizi bu verilen uzunluk kadar dolduktan sonra geri kalanlar görmezden gelinir. Pratikte çok nadir kullanılır.
let dizi = 'Bilbo, Gandalf, Nazgul, Saruman'.split(', ', 2);
alert(arr); // Bilbo, Gandalf
split(s)i boÅ s ile çaÄırırsanız harflerin dizisi haline getirirsiniz.
let str = "test";
alert( str.split('') ); // t,e,s,t
arr.join(str) split in tam tersini yapar. arrâden karakter dizileri yaratır.
Ãrnek:
let dizi = ['Bilbo', 'Gandalf', 'Nazgul'];
let str = dizi.join(';');
alert( str ); // Bilbo;Gandalf;Nazgul
reduce/reduceRight
Dizi elemanlarının üzerinden geçilmek istendiÄinde forEach kullanmak mümkündür.
arr.reduce ve arr.reduceRight metodları da bu iÅe yarar fakat daha dallı budaklıdır. Genelde dizilere göre tek bir karakter dizisini hesaplamaya yarar.
Yazımı:
let value = arr.reduce(function(previousValue, item, index, arr) {
// ...
}, initial);
Fonksiyon elemanlara uygulanır. İkinciden itibaren benzer bir yazıma rastlayabilirsiniz.
itemâ dizinin o anki elemanı.indexâ elemanın pozisyonu.arrâ dizi.
Åimdiye kadar forEach/map gibi. Fakat bir argüman daha var:
previousValuebir önceki fonksiyonun sonucudurinitialilk çaÄrının sonucudur.
Ãrnekle anlatmak gerekirse:
AÅaÄıda dizinin toplamı bir satırda alınmaktadır:
let arr = [1, 2, 3, 4, 5]
let result = arr.reduce((sum, current) => sum + current, 0);
alert(result); // 15
Burada reduce fonksiyonunun en çok kullanılan 2 argümanlı Åekli kullanıldı.
Detaylarına bakılacak olursa:
- İlk çalıÅtırıldıÄında
sumbaÅlangıç deÄerini alır (reduceâun son argümanı )0, vecurrentdizinin ilk elemanıdır1. Bundan dolayı sonuç1olur. - İkinci döngüde
sum = 1, buna ikinci dizi elemanı olan2eklenir ve döndürülür. - Ãçüncü döngüde ise
sum = 3ve buna bir sonraki dizi elemanı eklenir ve böyle devam eder.
Hesaplama akıÅı:
Form tablosunda bunu daha açık bir Åekilde görebilirsiniz. Satırlar fonksiyon çaÄrılarını göstermektedir.
toplam |
Åimdiki |
sonuç |
|
|---|---|---|---|
| birinci çaÄrı | 0 |
1 |
1 |
| ikinci çaÄrı | 1 |
2 |
3 |
| üçüncü çaÄrı | 3 |
3 |
6 |
| dördüncü çaÄrı | 6 |
4 |
10 |
| beÅinci çaÄrı | 10 |
5 |
15 |
GördüÄünüz gibi bir önceki fonksiyonun sonucu sonraki fonksiyonun argümanı olmakta.
Bunun ile birlikte baÅlangıç deÄerini pas geçmekte mümkün:
let arr = [1, 2, 3, 4, 5];
// baÅlangıç deÄeri silindi, 0 deÄil.
let result = arr.reduce((sum, current) => sum + current);
alert( result ); // 15
Sonuç aynı. BaÅlangıç deÄeri olmadıÄından dolayı, reduce fonksiyonu diznin ilk elemanını baÅlangıç deÄeri olarak almakta ve ikinciden itibaren döngüye baÅlamaktadır.
Hesaplama tablosu yukarıdaki ile aynı olmaktadır, sadece birinci satır silinir.
Fakat böyle kullanımda çok dikkatli olunmalıdır. EÄer dizi boÅ ise, recude çaÄrısı baÅlangıç deÄeri olmadıÄında hata verir.
ÃrneÄin:
let arr = [];
// Hata: BaÅlangıç deÄeri olmayan boÅ dizi ile `reduce` fonksiyonu kullanıldı.
// EÄer baÅlangıç deÄeri olsaydı, `reduce` boÅ diziyi döndürebilirdi.
arr.reduce((sum, current) => sum + current);
Bundan dolayı her zaman baÅlangıç deÄeri kullanılması önerilir.
arr.reduceRight metodu da reduce metodu ile aynı iÅi yapar fakat diziyi saÄdan sola doÄru okur.
Tekrar: forEach
arr.forEach metodu her eleman için bir fonksiyon çalıÅtırmaya yarar.
Yazımı:
arr.forEach(function(item, index, array) {
// ... elemanla bir Åeyler yap
});
ÃrneÄin aÅaÄıdaki kod dizinin her elemanını göstermeye yarar:
// her eleman için alert çaÄır
["Bilbo", "Gandalf", "Nazgul"].forEach(alert);
AÅaÄıdaki kod elemanın dizideki pozisyonu hakkında daha açıklayıcıdır:
["Bilbo", "Gandalf", "Nazgul"].forEach((item, index, array) => {
alert(`${item} ${array}'in ${index}. indeksinde`);
});
EÄer fonksiyonun bir sonucu varsa bu görmezden gelinir.
Array.isArray
Diziler farklı bir tip deÄildir. Obje üzerine kurulmuÅlardır.
Bundan dolayı typeof normal obje ile diziyi ayırt etmekte yardımcı olamaz:
alert(typeof {}); // object
alert(typeof []); // aynısı
⦠Fakat diziler çok kullanıldıÄından dolayı buna has metod bulunmaktadır: Array.isArray(value) . EÄer deÄer dizi ise true döndürür. DiÄer türlü false döndürür.
alert(Array.isArray({})); // false
alert(Array.isArray([])); // true
ÃoÄu metod âthisArgâ'ı destekler
Fonksiyonları çaÄıran neredeyse tüm dizi metodları â find, filter, map gibi sort hariç, ayrıca opsiyonel thisArg parametresini kabul eder.
Yukarıdaki bölümde bu parametreden bahsedilmedi, bunun sebebi çok nadir olarak kullanılmasından dolayıdır. Fakat bütünlüÄün saÄlanmasından dolayı üstünden geçmekte fayda var.
Bu metodlarla âthisArgâ'ın yazımı aÅaÄıdaki gibidir:
arr.find(func, thisArg);
arr.filter(func, thisArg);
arr.map(func, thisArg);
// ...
// thisArg isteÄe baÄlı olarak kullanılan bir argümandır.
thisArg deÄeri func için this olmaktadır.
ÃrneÄin, aÅaÄıda objenin metodu filtre olarak kullanılmaktadır ve thisArg bu durumda oldukça kullanıÅlıdır:
let kullanici = {
yas: 18,
dahaGenc(digerKullanici) {
return digerKullanici.yas < this.yas;
}
};
let kullanicilar = [
{yas: 12},
{yas: 16},
{yas: 32}
];
// kullanıcıdan daha genç kullanıcıları bulunuz
let dahaGencKullanicilar = kullanicilar.filter(kullanici.dahaGenc, kullanici);
alert(dahaGencKullanicilar.length); // 2
Yukarıdaki çaÄrıda kullanici.dahaGenc filtre olarak kullanılmaktadır. Ayrıca kullanici bu fonksiyona gönderilmektedir. EÄer kullanici.filter(kullanici.dahaGenc)'i vermezseniz, kullanici.dahaGenc this=undefined olarak çaÄrılır. Bu da anında hata verir.
Ãzet
Dizi metodlarının kısa açıklamaları:
-
Eleman ekleme/silme metodları:
push(...items)â elemanları sona ekler,pop()â en sondaki elemanı alır,shift()â baÅlangıçtan eleman alır,unshift(...items)â baÅlangıça eleman eklersplice(pos, deleteCount, ...items)âposindeksindedeleteCountsayısı kadar elemanı siler ve bunlarıitemsâa ekler.slice(start, end)âstartileendpozisyonları arasındaki (enddahil deÄil) elemanları yeni bir diziye kopyalar.concat(...items)â yeni bir dizi döndürür: var olan dizideki tüm elemanları kopyalar veitemsâı ekler. EÄeritemsdizi ise bunun elemanları da alınır.
-
Elemanları aramaya yönelik metodlar:
indexOf/lastIndexOf(item, pos)âposâtan baÅlayarakitemâı arar. Bulursa indeksini döndürür, bulamaz ise-1döndürür.includes(value)â eÄer dizivalueâya sahipsetruedöndürür. DiÄer türlüfalsedöndürür.find/filter(func)â Elemanları fonksiyonlar ile filtreler. Buna göre fonksiyonutrueyapan ilk veya tamamını döner.findIndexaynıfindgibidir fakat bir deÄer yerine index döner.
-
Diziler üzerinde dönüÅümler:
map(func)â her eleman içinfuncçaÄrılır ve bunların sonuçlarından bir dizi üretilerek döndürülür.sort(func)â diziyi olduÄu yerde sıralar ve döndürür.reverse()â diziyi terse çevirir ve döndürür.split/joinâ karakterleri diziye çevirir veya dizileri karaktere çevirir.reduce(func, initial)â dizide bulunan elemanlar sıra ilefuncfonksiyonu üzerinden hesaplanır ve son deÄer döndürülür.
-
Elemanlar üzerinden dönme:
forEach(func)â dizide bulunan her eleman içinfuncçaÄrılır. hiçbir Åey döndürmez.
-
Ek olarak:
Array.isArray(arr)arrâin dizi olup olmadıÄını kontrol eder.
Bu metodların içinden sadece sort, reverse ve splice doÄrudan dizinin kendisi üzerinden iÅlem yapar. DiÄerleri deÄer döndürür.
Yukarıdaki metodlar projelerin çoÄundaki kullanılan dizi fonksiyonlarının %99âunu kapsar. Fakat bunun yanında farklı metodlar da bulunmaktadır:
-
arr.some(fn)/arr.every(fn) diziyi kontrol eder.
Dizinin her elemanı için
fnçaÄırılır.Mapâe çok benzer fakat herhangi biri/hepsitrueisetruedöndürür. DiÄer türlüfalsedöndürür. -
arr.fill(value, start, end) â diziyi tekrar eden
valuedeÄeri ilestartileindexarasına doldurur. -
arr.copyWithin(target, start, end) â
starttanendâe kadar olan elemanlarıtargetâtan itibaren var olanların üzerine yazarak yapıÅtırır.
Tüm liste için kullanım talimatları sayfasına bakabilirsiniz.
Görünürde çok fazla metod varmıŠgibi ve ezberlemesi zormuÅ gibi görünse de aslında göründüÄünden çok daha kolaydır.
Sadece tanımların bulunduÄu sayfaya bakmanız yeterlid. Ardından bu bölümdeki örnekleri çözerek pratik yaparsanız metodlar ile ilgili yeteri kadar bilgi sahibi olmuÅ olursunuz.
Daha sonrasında metodlar ile ilgili bir Åey yapmak istediÄinizde, nasıl yapıldıÄını bilmiyorsanız, buraya tekrar gelip doÄru metodu bulabilirsiniz. Buradaki örnekler doÄru bir Åekilde yazmanıza yardımcı olacaktır. Sonrasında metodları hiçbir özel çaba harcamadan hatırlayacak duruma gelebilirsiniz.
Yorumlar
<code>kullanınız, birkaç satır eklemek için ise<pre>kullanın. EÄer 10 satırdan fazla kod ekleyecekseniz plnkr kullanabilirsiniz)