Dizi Metotları
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 65 / 86.
Eleman ekleme ve çıkarmanın ötesinde, Swift dizileri koleksiyonlarla çalışmayı kolaylaştıran birkaç yardımcı metotla birlikte gelir.
isEmpty özelliği, bir dizinin herhangi bir öğeye sahip olup olmadığını kontrol eder:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseTüm öğeleri tek seferde kaldırmak için removeAll() kullanın:
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []reversed() metodu, öğeleri ters sırada döndürür:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Sıralama için, yeni bir sıralanmış dizi elde etmek için sorted() fonksiyonunu veya diziyi olduğu yerde sıralamak için sort() fonksiyonunu kullanın:
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]sorted() fonksiyonunun orijinali değiştirmeden yeni bir dizi döndürdüğüne, buna karşın sort() fonksiyonunun orijinal diziyi doğrudan değiştirdiğine dikkat edin.
Görev
Kolayscores parametresini alan ve bu puanlar hakkında bilgi içeren biçimlendirilmiş bir dize döndüren bir processScores fonksiyonu yazın.
Fonksiyon diziyi analiz etmeli ve üç parça bilgi içeren bir sonuç dizesi oluşturmalıdır.
Mantık:
isEmptykullanarak dizinin boş olup olmadığını kontrol edin- Eğer boşsa,
"No scores"döndürün - Aksi takdirde, sıralanmış puanları (artan düzende) ve ters çevrilmiş puanları alın
- Her iki sonucu birleştiren bir dize döndürün
Parametreler:
scores([Int]): Tam sayı puanlarından oluşan bir dizi
Dönüş Değeri: Şu formatta bir dize: "Sorted: [sorted_array], Reversed: [reversed_array]" veya dizi boşsa "No scores" (String)
Örnek: Eğer scores değeri [85, 42, 97, 63] ise, fonksiyon şunu döndürmelidir:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Not: Ters çevrilmiş dizi, sıralanmış olanın değil, orijinal dizinin tersi olmalıdır.
Kopya kağıdı
Swift dizileri, koleksiyonlarla çalışmak için birkaç yararlı yöntem sunar:
isEmpty özelliği, bir dizinin herhangi bir öğe içerip içermediğini kontrol eder:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseBir dizideki tüm öğeleri kaldırmak için removeAll() yöntemini kullanın:
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []reversed() yöntemi, öğeleri ters sırada döndürür:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Sıralama için, yeni bir sıralanmış dizi oluşturmak üzere sorted() yöntemini veya yerinde sıralama yapmak için sort() yöntemini kullanın:
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]sorted() orijinali değiştirmeden yeni bir dizi döndürürken, sort() diziyi doğrudan değiştirir.
Kendin dene
func processScores(scores: [Int]) -> String {
// Kodunuzu buraya yazın
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüBileşik AtamaÖzet - Basit MatematikKarşılaştırma Operatörleri7Temel Giriş/Çıkış
Print FonksiyonuString InterpolationReadLine GirişiTür DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Elemanlar Üzerinde YinelemeEnumerate MetoduStringler Üzerinde Yineleme P1Stringler Üzerinde Yineleme P22Değişkenler
Let vs VarTip BelirteçleriSayılarStringBooleanİsimlendirme KurallarıÖzet - Değişkenleri Başlatma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Ternary Operatör8Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma14İleri Seviye Diziler
Dizi Dilimleme Bölüm 1Dizi Dilimleme Bölüm 2Sıralı Yapı OperatörleriContains Metodu3Opsiyoneller
Opsiyoneller NedirIf Let ile UnwrappingGuard LetNil Coalescing OperatörüÖzet - Güvenli Unwrapping6Karar Yapıları
If İfadesiIf - ElseÖzet - Basit Hesap MakinesiSwitch İfadesiAralıklı Switch Kullanımı9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueÖzet - FaktöriyelDöngülerde Aralıklarİç İçe DöngülerÖzet - Dinamik Girdi12Dizi Temelleri
Dizi TanımlamaElemanlara ErişimDizileri DeğiştirmeDizi MetotlarıÖzet - Ürün ListesiÖzet - Ters Çevrilmiş DiziTuples