Swift Academy · Lektion

prefix, suffix og dropFirst

Udtag dele af en collection deklarativt.

Lektion 4 af 413 trin

prefix, suffix og dropFirst er en gratis Swift Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Swift Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Swift Academy-kurset indeholder 4 lektioner i alt.

prefix(n)

prefix(n) returnerer et udsnit af de første n elementer. Det er sikkert, også når n er større end arrayet.

let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(3)))
print(Array(arr.prefix(99)))

suffix(n)

suffix(n) returnerer et udsnit af de sidste n elementer og begrænser også sikkert resultatet.

let arr = [1, 2, 3, 4, 5]
print(Array(arr.suffix(2)))
print(Array(arr.suffix(0)))

dropFirst

dropFirst() fjerner det første element, mens dropFirst(n) fjerner de første n elementer.

let arr = [10, 20, 30, 40]
print(Array(arr.dropFirst()))
print(Array(arr.dropFirst(2)))

dropLast

dropLast() fjerner elementer fra slutningen. Ligesom de andre metoder returnerer den et udsnit.

let arr = [10, 20, 30, 40]
print(Array(arr.dropLast()))
print(Array(arr.dropLast(3)))

Alle returnerer udsnit

Alle disse metoder returnerer et ArraySlice, ikke et nyt array. Konverter, når du har brug for et konkret array.

let arr = [1, 2, 3, 4]
let s = arr.prefix(2)
print(type(of: s))

Sikkert med stort n

I modsætning til indeksering med et interval uden for området får disse metoder aldrig programmet til at gå ned. Hvis du beder om flere elementer, end der findes, returneres blot de tilgængelige elementer.

let arr = [1, 2]
print(Array(arr.prefix(10)))
print(Array(arr.dropFirst(10)))

prefix(while:)

prefix(while:) tager elementer fra starten, så længe en betingelse er opfyldt, og stopper derefter.

let arr = [2, 4, 6, 7, 8]
let evensAtStart = arr.prefix(while: { $0 % 2 == 0 })
print(Array(evensAtStart))

drop(while:)

drop(while:) springer indledende elementer over, så længe en betingelse er opfyldt, og returnerer resten.

let arr = [2, 4, 6, 7, 8]
let rest = arr.drop(while: { $0 % 2 == 0 })
print(Array(rest))

Kombination af metoder

Kæd disse metoder sammen for at udtrykke udsnit kortfattet, f.eks. alt undtagen det første og det sidste element.

let arr = [10, 20, 30, 40, 50]
let middle = arr.dropFirst().dropLast()
print(Array(middle))

Kig kontra fjern-mønster

Brug first til at kigge på det første element og dropFirst() til at få resten. Det er et almindeligt funktionelt mønster til behandling af lister.

let queue = [100, 200, 300]
if let head = queue.first {
    let tail = Array(queue.dropFirst())
    print("head:", head, "tail:", tail)
}

Tydelig hensigt

Disse metoder udtrykker hensigten bedre end manuelle intervaller. arr.suffix(3) er tydeligere end arr[(arr.count-3)...].

let arr = [1, 2, 3, 4, 5, 6]
print(Array(arr.suffix(3)))

Hurtigt tjek

Test adfærden for prefix og drop.

Opsummering

prefix(n) og suffix(n) tager elementer fra enderne, mens dropFirst og dropLast fjerner elementer fra enderne. Alle returnerer udsnit og er sikre med for store antal. prefix(while:) og drop(while:) bruger prædikater.

let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(2)), Array(arr.suffix(2)), Array(arr.dropFirst()))
Gratis at komme i gang

Lær Swift med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
122
Lektioner
409

Ofte stillede spørgsmål

Er lektionen “prefix, suffix og dropFirst” gratis?

Ja — alle 3 lektioner i læringssporet Swift Academy, inklusive “prefix, suffix og dropFirst”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Swift Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “prefix, suffix og dropFirst”?

Udtag dele af en collection deklarativt. Du øver dig i Swift Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Swift Academy?

Der kræves ingen tidligere erfaring. Swift Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “prefix, suffix og dropFirst”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Swift Academy-lektion?

Ja. Alle Swift Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Oprettelse af slices med intervaller
  2. ArraySlice-indekssemantik
  3. Konvertering af slices tilbage til arrays
  4. prefix, suffix og dropFirst
← Tilbage til Swift Academy