JavaScript Dersleri

JavaScript’te Nesneler Üzerinde Döngü Kullanımı

eminbasbayan

eminbasbayan

3 dk okuma
JavaScript’te Nesneler Üzerinde Döngü Kullanımı
🔍 Büyütmek için tıklayın

JavaScript programlama dilinde verilerle çalışırken sıkça tekrarlayan işlemler yapmamız gerekebilir. Bu gibi durumlarda döngüler kullanılır. Diziler üzerinde döngü kurmak oldukça yaygındır; çünkü diziler “tekrarlanabilir” (iterable) yapılardır. Ancak bazen elimizde dizi değil de bir nesne (object) olur. İşte bu noktada, nesneler üzerinde nasıl döngü kurulacağı sorusu karşımıza çıkar. Bu yazıda sadece nesneler üzerinde döngü kurma konusunu ele alacağız ve for...in, Object metodları ve for...of döngüsünün sınırlarını inceleyeceğiz.

Nesneler ve for...of Döngüsü Uyumsuzluğu

JavaScript’te for...of döngüsü diziler, string’ler, Map ve Set gibi iterable yapılar üzerinde çalışır. Ancak { ad: "Zeynep", not: 95 } gibi bir nesne üzerinde for...of kullanırsanız şu hatayı alırsınız:

Uncaught TypeError: object is not iterable

Çünkü JavaScript nesneleri iterable olarak kabul etmez. Yani for...of doğrudan bir nesneyle çalışamaz. Peki, bu durumda ne yapacağız?

Nesne Üzerinde for...in Kullanımı

Eğer bir nesnedeki tüm anahtarları (key) sırayla dolaşmak istiyorsak for...in döngüsü yardımımıza yetişir. Bu döngü, nesnenin her özelliğini (property) tek tek verir.

Örnek:

const kitaplar = { "Harry Potter": 120, "Yüzüklerin Efendisi": 200, "Sefiller": 180 }; for (let kitap in kitaplar) { console.log(kitap); // kitap isimlerini yazdırır }

Bu kod her bir anahtar üzerinde döner. Eğer kitap isimlerinin yanındaki sayfa sayılarını da göstermek istiyorsak:

for (let kitap in kitaplar) { console.log(`${kitap} kitabı ${kitaplar[kitap]} sayfa.`); }

Burada kitaplar[kitap] ifadesi, anahtara karşılık gelen değeri verir. Yani "Harry Potter" anahtarı için kitaplar["Harry Potter"] sonucu 120 olacaktır.

Object.keys, Object.values, Object.entries Kullanımı

Modern JavaScript’te nesnelerle çalışırken Object sınıfına ait üç önemli yardımcı metot işimizi oldukça kolaylaştırır:

1. Object.keys(obj)

Bu metod, bize nesnedeki tüm anahtarları bir dizi olarak verir.

const arabalar = { BMW: 3, Mercedes: 5, Toyota: 7 }; const markalar = Object.keys(arabalar); console.log(markalar); // ["BMW", "Mercedes", "Toyota"]

2. Object.values(obj)

Bu metod, sadece değerleri bir diziye çevirir.

const degerler = Object.values(arabalar); console.log(degerler); // [3, 5, 7]

3. Object.entries(obj)

Bu metod, her bir elemanı [anahtar, değer] şeklinde içeren iç içe dizilerden oluşan bir dizi döner.

const girdiler = Object.entries(arabalar); console.log(girdiler); // [["BMW", 3], ["Mercedes", 5], ["Toyota", 7]]

Object.values ile for...of Kullanarak Ortalama Hesaplamak

Object.values sayesinde değerleri diziye dönüştürebiliriz. Bu da for...of ile işlem yapmamıza olanak tanır.

Örnek: Arabaların sayılarının ortalamasını alalım.

const arabalar = { BMW: 3, Mercedes: 5, Toyota: 7 }; const sayilar = Object.values(arabalar); // [3, 5, 7] let toplam = 0; for (let adet of sayilar) { toplam += adet; } const ortalama = toplam / sayilar.length; console.log("Ortalama araç sayısı:", ortalama);

Burada yaptığımız işlemler:

  • Object.values ile değerleri aldık.
  • for...of döngüsüyle tüm sayıları topladık.
  • Toplamı, dizi uzunluğuna bölerek ortalamayı bulduk.

Özet

Kullanım YöntemiNe Yapar?Nerede Kullanılır?
for...ofSadece iterable yapılar üzerinde dönerDizi, string, Map, Set
for...inNesnelerdeki anahtarları (key) sırayla verirObject literal yapılar
Object.keys(obj)Nesnedeki tüm key’leri bir diziye çevirirKey listesi gerektiğinde
Object.values(obj)Nesnedeki tüm değerleri bir diziye çevirirDeğerlerle işlem yapılacaksa
Object.entries(obj)[key, value] çiftlerinden oluşan bir dizi dönerAnahtar ve değer birlikte kullanıldığında

Sonuç

JavaScript'te nesneler iterable değildir, bu yüzden doğrudan for...of ile kullanılamazlar. Ancak for...in veya Object.keys, Object.values, Object.entries gibi yöntemlerle nesneler üzerinde gezinebiliriz. Bu yollarla ister sadece anahtarlarla, ister sadece değerlerle, ister her ikisiyle birlikte işlem yapabiliriz. Özellikle veri analizi, ortalama hesaplama veya veri listesi oluşturma gibi işlemlerde bu bilgiler oldukça işe yarar.

Bu temel yöntemleri öğrendiğinizde, JavaScript nesneleriyle daha güçlü ve esnek kodlar yazabilirsiniz.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk