Dizileri Değiştirme
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 64 / 86.
Diziler, içeriklerini değiştirebildiğinizde gerçekten kullanışlı hale gelirler. Bir diziyi değiştirmek için onu let yerine var ile tanımlamanız gerekir.
Belirli bir indekse yeni bir değer atayarak mevcut bir öğeyi değiştirebilirsiniz:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"
print(colors) // ["Red", "Yellow", "Blue"]Yeni öğeler eklemek için, tek bir öğe için append metodunu veya aynı anda birden fazla öğe eklemek için += operatörünü kullanın:
var numbers = [1, 2, 3]
numbers.append(4)
print(numbers) // [1, 2, 3, 4]
numbers += [5, 6]
print(numbers) // [1, 2, 3, 4, 5, 6]Belirli bir konuma bir öğe eklemek için insert metodunu kullanın:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)
print(fruits) // ["Apple", "Banana", "Orange"]Öğeleri kaldırmak için, silmek istediğiniz dizin ile remove(at:) metodunu kullanın:
var items = ["A", "B", "C", "D"]
items.remove(at: 2)
print(items) // ["A", "B", "D"]Unutmayın, bir öğeyi kaldırdığınızda, sonraki tüm öğeler boşluğu doldurmak için kayar.
Görev
KolayBir öğe dizisi, eklenecek yeni bir öğe ve kaldırılacak bir dizin alan, ardından değiştirilmiş diziyi döndüren bir modifyInventory fonksiyonu yazın.
Aşağıdaki işlemleri sırasıyla gerçekleştirin:
- İlk öğeyi
"Updated"olarak değiştirin - Yeni öğeyi dizinin sonuna ekleyin
- Belirtilen dizindeki öğeyi kaldırın
Parametreler:
items([String]): Başlangıçtaki öğe dizisinewItem(String): Sona eklenecek öğeremoveIndex(Int): Kaldırılacak öğenin dizini (ekleme işleminden sonra)
Döndürür: Tüm işlemlerden sonraki değiştirilmiş dizi ([String])
Örnek: Eğer items değeri ["A", "B", "C"], newItem değeri "D" ve removeIndex değeri 2 ise, fonksiyon şunları yapmalıdır:
- İlk öğeyi değiştir:
["Updated", "B", "C"] - "D" ekle:
["Updated", "B", "C", "D"] - 2. dizindeki öğeyi kaldır:
["Updated", "B", "D"]
Kopya kağıdı
var ile bildirilen diziler değiştirilebilir, let ile bildirilen diziler ise sabittir (değiştirilemez).
Belirli bir indekse yeni bir değer atayarak bir öğeyi değiştirin:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow" // ["Red", "Yellow", "Blue"]append ile tek bir öğe ekleyin:
var numbers = [1, 2, 3]
numbers.append(4) // [1, 2, 3, 4]+= ile birden fazla öğe ekleyin:
numbers += [5, 6] // [1, 2, 3, 4, 5, 6]insert(_:at:) ile belirli bir konuma bir öğe ekleyin:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1) // ["Apple", "Banana", "Orange"]remove(at:) ile belirli bir indeksteki bir öğeyi kaldırın:
var items = ["A", "B", "C", "D"]
items.remove(at: 2) // ["A", "B", "D"]Bir öğe kaldırıldığında, sonraki tüm öğeler boşluğu doldurmak için aşağı kayar.
Kendin dene
func modifyInventory(items: [String], newItem: String, removeIndex: 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