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.
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 OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik Girdi12Dizilerin Temelleri
Dizi TanımlamaÖğelere ErişimDizileri DeğiştirmeDizi MetotlarıTekrar - Ürün ListesiTekrar - Ters Çevrilmiş DiziDemetlerKendi başına pratik yap: Swift playground