Dizilerde Kullanışlı Metodlar
Dizilere Eleman Ekleme/Silme
Birince bölümde gördüğümüz push/pop, shift/unshift üzerine:
arr.splice(start, deleteCount, item1, item2…) start’daki elemandan başlayarak deleteCount miktarı kadar elemanı siler. Yerine varsa yeni dizi elemanları koyar.
arr.slice(start, end) start dahil, end dahil olmamak üzere aradaki indislere sahip tüm elemanları siler ve yeni bir dizi olarak döndürür.
arr.concat(arg1, arg2) argüman olarak hem ilkel değer hem de dizi alabilir. aldığı değerleri birleştirip yeni bir dizi döndürür.
Dizilerde Arama ve Filtreleme
arr.indexOf(value, from) from indisinden aramaya başlayarak belirtilen değerin ilk indisini döndürür.
arr.lastIndexOf indexOf ile aynı şeyi tersten arayarak yapar.
arr.includes(value, from) indexOf ile aynı şeyi yapar ama boolean değer döndürür.
arr.find(fn) fonksiyondaki şartı sağlayan ilk elemanı döndürür, yoksa undefined döndürür.
arr.findIndex(fn) fonksiyondaki şartı sağlayan ilk elemanın indisini döndürür. yoksa -1 döndürür.
arr.findLastIndex(fn) findIndex ile aynı çalışır, fakat sağdan aramaya başlar.
arr.filter(fn) find ile aynı çalışır, fakat şarta uyan tüm elemanları bir dizide döndürür.
Dizileri Dönüştürme ve Sıralama
arr.map(fn) fonksiyonu dizideki tüm elemanlar için çağırır ve sonuçları bir dizide döndürür.
arr.sort(fn) dizideki elemanların sırasını fonskiyondaki şartlara göre sıralar. Fonksiyon yoksa string sıralama kurallarına göre sıralar.
arr.reverse() dizideki elemanların sırasını terse çevirir.
str.split() string değerdeki değerleri parantez içindeki karaktere göre bölüp dizi olarak döndürür.
arr.join() dizi elemanlarının arasına parantez içindeki değeri koyarak birleştirerek string olarak döndürür.
arr.reduce(fn) fonksiyonun içinde başlangıç değer olan değer dizideki her eleman için çağırılan fonksiyondan dönen başlangıç değerine eklenir. En son başlangıç değeri fonksiyonun döndürdüğü değerleri toplamış şekilde döndürülür.
arr.reduceRight(fn) reduce ile aynı şeyi yapar, fakat sağdan sola gider.
Dizilerin Tipini Kontrol Etme
Diziler typeof() komuduyla kontrol edildiğinde object döndürülür. Bu yüzden bu komutla objeler ile diziler arasında fark bulunmaz. Diziler için Array.isArray() kullanılmalıdır.
Array.isArray() parantez içindeki nesnenin tipi dizi ise true döndürür, değilse false döndürür.