splice Metodu
splice metodu, bir diziden eleman siler veya diziye eleman ekler.
Sadece eleman silebilir, sadece eleman ekleyebilir veya her ikisini aynı anda
yapabilir. Metot oldukça çok yönlüdür ve anlaşılması zor olabilir.
Metot, dizinin kendisini değiştirir ve aynı zamanda silinen elemanlardan oluşan
bir dizi döndürür.
İlk parametre olarak, silinecek dizi elemanının numarasını alır.
İkinci parametre olarak - diziden kaç elemanın silineceğini alır.
Eğer 0 olarak ayarlanırsa - hiçbir eleman silinmez
(sadece yeni elemanlar eklenir).
Virgülle ayrılarak devam eden parametreler, diziye eklenmesi gereken
elemanlardır (isteğe bağlı parametrelerdir). Bu elemanlar, diziden silinen
elemanların yerine eklenir.
Eğer silme işlemi yapılmadıysa (ikinci parametre
0 olduğunda) - elemanlar, metodun ilk parametresinde belirtilen
pozisyondan başlayarak diziye yerleştirilir.
İlk parametre negatif bir değere sahip olabilir. Bu durumda, pozisyon sayımı
dizinin başından değil, sonundan başlar. Son eleman
bu durumda -1 numarasına sahip olur.
Sözdizimi
dizi.splice(neredenSilinecek, kacElemanSilinecek, [ekle], [ekle]...);
Örnek
Birinciden başlayarak üç eleman silelim:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'e']
Örnek
Silinen elemanlar dizisini yazdıralım:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Kodun çalıştırılmasının sonucu:
['b', 'c', 'd']
Örnek
Önce 2 numaralı elemanı silelim, sonra onun yerine
üç yeni eleman ekleyelim:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', '1', '2', '3', 'd', 'e']
Örnek
Şimdi hiçbir şey silmeyelim, ancak
2 pozisyonuna üç yeni eleman ekleyelim:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Örnek . Negatif değer
Sondan ikinci elemanı silelim:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c', 'e']