Swift Academy · Ders

Dizilerde Map, Filter ve Reduce

İşlevsel üst düzey işlevlerle dizileri dönüştürün.

3. ders / 412 adım

Dizilerde Map, Filter ve Reduce, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Swift'in üst düzey işlevleri olan `map`, `filter` ve `reduce`, koleksiyonları değiştirme yapmadan dönüştürür. Niyetinizi açıkça ifade etmenizi sağlar ve hataya açık döngüleri ortadan kaldırır.

Her öğeyi dönüştürme

```swift let nums = [1, 2, 3, 4] let doubled = nums.map { $0 * 2 } // [2,4,6,8] let strings = nums.map { "Item \($0)" } // ["Item 1","Item 2",...] ``` `map`, her öğeye bir kapanış uygular ve sonuçlardan oluşan yeni bir dizi döndürür.

Eşleşen öğeleri tutma

```swift let scores = [45, 80, 92, 37, 68] let passing = scores.filter { $0 >= 60 } // [80,92,68] let even = (1...10).filter { $0 % 2 == 0 } // [2,4,6,8,10] ``` `filter`, yalnızca kapanışın `true` döndürdüğü öğeleri içeren yeni bir dizi döndürür.

Tek bir değerde birleştirme

```swift let nums = [1, 2, 3, 4, 5] let sum = nums.reduce(0) { $0 + $1 } // 15 let product = nums.reduce(1, *) // 120 let joined = ["a","b","c"].reduce("") { $0 + $1 } // "abc" ```

Dönüştürme, süzme ve biriktirmeyi zincirleme

```swift let result = (1...10) .filter { $0 % 2 == 0 } // [2,4,6,8,10] .map { $0 * $0 } // [4,16,36,64,100] .reduce(0, +) // 220 ``` Zincirleme soldan sağa okunur ve veri işlem hattını açıkça ifade eder.

Dönüştürme ve açma

```swift let strings = ["1","two","3","four","5"] let nums = strings.compactMap { Int($0) } // [1,3,5] ``` `compactMap`, dönüştürme yapar ve nil sonuçlarını kaldırır; başarısız olabilen dönüşümler için idealdir.

İç içe dizileri düzleştirme

```swift let nested = [[1,2,3],[4,5],[6]] let flat = nested.flatMap { $0 } // [1,2,3,4,5,6] let words = ["hello world","foo bar"] let all = words.flatMap { $0.split(separator: " ") } // ["hello","world","foo","bar"] ```

Yalnızca yan etkiler için uygulama

```swift [1, 2, 3].forEach { print($0) } ``` `forEach`, `for-in` döngüsü gibidir ancak `break` veya `continue` kullanamaz. Yalnızca yan etkilere ihtiyacınız olduğunda ve erken çıkmanız gerekmiyorsa kullanın.

Sözlükler için biriktirme

```swift let words = ["apple","banana","apricot","blueberry"] let grouped = words.reduce(into: [Character:[String]]()) { dict, word in let key = word.first! dict[key, default: []].append(word) } // ["a":["apple","apricot"],"b":["banana","blueberry"]] ```

Performans için tembel zincirler

```swift let lazyResult = (1...1_000_000) .lazy .filter { $0 % 7 == 0 } .map { $0 * 2 } .prefix(5) // No intermediate arrays created! ``` İhtiyaca göre değerlendirme yapmak için zincirin başına `.lazy` ekleyin.

Kısa denetim

Her öğeyi dönüştüren ve nil sonuçlarını kaldıran işlev hangisidir?

Özet

Önemli noktalar: • `map` — her öğeyi yeni bir diziye dönüştürür • `filter` — bir koşulla eşleşen öğeleri tutar • `reduce` — tek bir birikmiş değerde birleştirir • `compactMap` — dönüştürür ve nil değerlerini atar • `flatMap` — iç içe dizileri dönüştürür ve düzleştirir • Ara değerlerin oluşturulmasını önlemek için `.lazy` ile zincirleme yapın Sıradaki konu: iki boyutlu diziler ve iç içe koleksiyonlar.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Swift öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
122
Dersler
409

Sıkça Sorulan Sorular

“Dizilerde Map, Filter ve Reduce” dersi ücretsiz mi?

Evet — “Dizilerde Map, Filter ve Reduce” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Dizilerde Map, Filter ve Reduce” dersinde ne öğreneceğim?

İşlevsel üst düzey işlevlerle dizileri dönüştürün. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Dizilerde Map, Filter ve Reduce” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Diziler Oluşturma ve Değiştirme
  2. Sıralama, Arama ve Dilimleme
  3. Dizilerde Map, Filter ve Reduce
  4. 2B Diziler ve İç İçe Koleksiyonlar
← Swift Academy Sayfasına Dön