Tüm blog yazıları

JavaScript’te Dizi Metotları

JavaScript programlamasında diziler, birden fazla veriyi tek bir yerde saklamamıza olanak tanır. Örneğin bir alışveriş listesi, bir öğrenci grubu veya günlük sıcaklık verileri gibi bilgileri tek tek değişkenlerde saklamak yerine, bir dizi içinde toplamak çok daha düzenli ve pratiktir.

eminbasbayan4 dk okuma
JavaScript’te Dizi Metotları

JavaScript programlamasında diziler, birden fazla veriyi tek bir yerde saklamamıza olanak tanır. Örneğin bir alışveriş listesi, bir öğrenci grubu veya günlük sıcaklık verileri gibi bilgileri tek tek değişkenlerde saklamak yerine, bir dizi içinde toplamak çok daha düzenli ve pratiktir.

Bu yazıda JavaScript dizileri üzerinde işlem yapmamıza olanak tanıyan bazı temel metotları öğreneceğiz. Her metodu günlük hayattan örneklerle açıklayarak kalıcı öğrenmeyi hedefleyeceğiz. Yazıda anlatılanlar:

  • concat
  • includes
  • indexOf
  • reverse
  • slice
  • splice
  • sort

Konunun dışında hiçbir metoda değinilmeyecektir.

1. concat() – İki Diziyi Birleştirmek

Diyelim ki iki sınıfın öğrenci listeleri ayrı dizilerde tutuluyor:

metin
let sinifA = ["Ali", "Zeynep"];
let sinifB = ["Berk", "Melis"];

Bu iki sınıfı tek bir liste altında toplamak istersek concat() metodunu kullanabiliriz:

metin
let tumOgrenciler = sinifA.concat(sinifB);

tumOgrenciler şu şekilde olur:

metin
["Ali", "Zeynep", "Berk", "Melis"]

Dikkat edilmesi gereken nokta şudur: concat orijinal dizileri değiştirmez, yeni bir dizi oluşturur. sinifA ve sinifB hala eski haliyle durur.

2. includes() – Bir Eleman Listede Var mı?

Bir dizide belirli bir öğenin olup olmadığını kontrol etmek için includes() metodunu kullanabiliriz. Örneğin:

metin
let kitaplar = ["1984", "Sefiller", "Beyaz Gemi"];
kitaplar.includes("Sefiller"); // true
kitaplar.includes("Suç ve Ceza"); // false

Metinlerde büyük/küçük harf farklılığı önemlidir. "sefiller" araması yapılırsa false döner çünkü "Sefiller" ile "sefiller" farklıdır.

3. indexOf() – Bir Elemanın Sırasını Bulmak

Bir dizide aranan öğenin kaçıncı sırada olduğunu öğrenmek için indexOf() kullanılır:

metin
let filmler = ["Matrix", "Inception", "Interstellar", "Tenet"];
filmler.indexOf("Interstellar"); // 2
filmler.indexOf("Titanic"); // -1

Eğer öğe bulunamazsa sonuç -1 döner. Bu da öğenin dizide yer almadığını gösterir.

4. reverse() – Diziyi Tersine Çevirmek

Bir dizinin sırasını tamamen tersine çevirmek için reverse() metodunu kullanırız:

metin
let notlar = [80, 90, 70];
notlar.reverse();

Artık notlar dizisi şu şekildedir:

metin
[70, 90, 80]

Bu metot orijinal diziyi değiştirir. Yani notlar artık eskisi gibi değildir.

5. slice() – Dizi Parçası Almak (Kopyalayarak)

Bir dizinin belli bir kısmını alıp yeni bir dizi oluşturmak için slice() kullanılır. Bu işlem, orijinal diziyi değiştirmez.

metin
let iller = ["İstanbul", "Ankara", "İzmir", "Antalya", "Bursa"];
let egeSehirlari = iller.slice(2, 4);

egeSehirlari dizisi şu olur:

metin
["İzmir", "Antalya"]

Burada dikkat edilmesi gereken: slice ilk parametredeki indeksten başlar (dahil), ikinci parametredeki indekse kadar gider (hariç).

Ayrıca sondan saymak için negatif değer kullanılabilir:

metin
iller.slice(-2); // ["Antalya", "Bursa"]

6. splice() – Sil, Ekle, Değiştir

splice() metodu, hem silme hem ekleme hem de değiştirme işlemleri yapabilir. Ama önemli bir fark var: bu metot orijinal diziyi değiştirir.

Silme

metin
let takim = ["kaleci", "defans", "orta saha", "forvet"];
takim.splice(1, 1); // defans silinir

Sonuç:

metin
["kaleci", "orta saha", "forvet"]

Ekleme

metin
takim.splice(2, 0, "kanat"); // 2. sıraya "kanat" eklenir

Sonuç:

metin
["kaleci", "orta saha", "kanat", "forvet"]

Değiştirme

metin
takim.splice(1, 1, "libero"); // 1. sıradaki "orta saha", "libero" ile değiştirilir

7. sort() – Sıralama (Dikkatli Kullanım)

Dizi sıralamak için sort() kullanılır. Ama dikkat: sayı dizilerinde her zaman doğru sonuç vermez çünkü elemanları string gibi sıralar.

metin
let sayilar = [8, 22, 5, 100];
sayilar.sort(); // [100, 22, 5, 8]

Neden? Çünkü "100", "22"den önce gelir alfabetik sıralamada.

Dolayısıyla, sayısal olarak sıralamak için daha sonra öğreneceğimiz özel fonksiyonlar gerekir. Bu metodu şimdilik stringleri alfabetik sıralamak için kullanabiliriz:

metin
let isimler = ["Zeynep", "Ali", "Mehmet"];
isimler.sort(); // ["Ali", "Mehmet", "Zeynep"]

Sonuç

Bu yazıda, JavaScript’in en sık kullanılan yedi dizi metodunu öğrendik. Her bir metodun ne işe yaradığını, nasıl kullanıldığını ve hangi durumlarda tercih edileceğini örneklerle açıkladık. Aşağıda her bir metodun kısa özeti verilmiştir:

MetotNe Yapar?Orijinal Diziyi Değiştirir mi?
concatİki diziyi birleştirirHayır
includesEleman var mı kontrol ederHayır
indexOfElemanın dizideki sırasını verirHayır
reverseDiziyi ters çevirirEvet
sliceDizinin belli bir kısmını alır (kopya)Hayır
spliceSilme, ekleme, değiştirme işlemi yaparEvet
sortSıralama yapar (dikkatli kullanılmalı)Evet

Bu temel bilgilerle artık JavaScript’te diziler üzerinde daha etkili işlemler yapabilirsiniz. İleride fonksiyonları da öğrendiğinizde bu bilgiler daha da güçlenecek ve gelişmiş metotları da kolayca kavrayabileceksiniz.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele