prefix, suffix og dropFirst
Hent deler av en samling på en deklarativ måte.
prefix, suffix og dropFirst er en gratis leksjon i Swift Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Swift Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Swift Academy inneholder totalt 4 leksjoner.
prefix(n)
prefix(n) returnerer en slice med de første n elementene. Den er trygg selv om n er større enn arrayen.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(3)))
print(Array(arr.prefix(99)))suffix(n)
suffix(n) returnerer en slice med de siste n elementene, også med en trygg begrensning til tilgjengelige elementer.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.suffix(2)))
print(Array(arr.suffix(0)))dropFirst
dropFirst() fjerner det første elementet, mens dropFirst(n) fjerner de første n elementene.
let arr = [10, 20, 30, 40]
print(Array(arr.dropFirst()))
print(Array(arr.dropFirst(2)))dropLast
dropLast() fjerner elementer fra slutten. Som de andre metodene returnerer den en slice.
let arr = [10, 20, 30, 40]
print(Array(arr.dropLast()))
print(Array(arr.dropLast(3)))Alle returnerer slices
Alle disse metodene returnerer en ArraySlice, ikke en ny array. Konverter når du trenger en konkret array.
let arr = [1, 2, 3, 4]
let s = arr.prefix(2)
print(type(of: s))Trygt med store n-verdier
I motsetning til indeksering med et område utenfor gyldig grense, fører disse metodene aldri til krasj. Hvis du ber om flere elementer enn det som finnes, returneres bare de tilgjengelige elementene.
let arr = [1, 2]
print(Array(arr.prefix(10)))
print(Array(arr.dropFirst(10)))prefix(while:)
prefix(while:) henter elementer fra starten så lenge en betingelse er oppfylt, og stopper deretter.
let arr = [2, 4, 6, 7, 8]
let evensAtStart = arr.prefix(while: { $0 % 2 == 0 })
print(Array(evensAtStart))drop(while:)
drop(while:) hopper over innledende elementer så lenge en betingelse er oppfylt, og returnerer resten.
let arr = [2, 4, 6, 7, 8]
let rest = arr.drop(while: { $0 % 2 == 0 })
print(Array(rest))Kombinere metoder
Kjed disse sammen for å uttrykke slicing kortfattet, for eksempel for å hente alt unntatt det første og siste elementet.
let arr = [10, 20, 30, 40, 50]
let middle = arr.dropFirst().dropLast()
print(Array(middle))Mønsteret kikk og fjern
Bruk first for å kikke på det første elementet og dropFirst() for å hente resten. Dette er et vanlig funksjonelt mønster for behandling av lister.
let queue = [100, 200, 300]
if let head = queue.first {
let tail = Array(queue.dropFirst())
print("head:", head, "tail:", tail)
}Tydelig hensikt
Disse metodene uttrykker hensikten tydeligere enn manuelle områder. arr.suffix(3) er klarere enn arr[(arr.count-3)...].
let arr = [1, 2, 3, 4, 5, 6]
print(Array(arr.suffix(3)))Rask kontroll
Test hvordan prefix og drop oppfører seg.
Oppsummering
prefix(n) og suffix(n) henter elementer fra endene, mens dropFirst og dropLast fjerner elementer fra endene. Alle returnerer slices og er trygge med for store antall. prefix(while:) og drop(while:) bruker predikater.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(2)), Array(arr.suffix(2)), Array(arr.dropFirst()))Lær deg Swift med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 122
- Leksjoner
- 409
Ofte stilte spørsmål
Er leksjonen «prefix, suffix og dropFirst» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Swift Academy, inkludert «prefix, suffix og dropFirst», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Swift Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «prefix, suffix og dropFirst»?
Hent deler av en samling på en deklarativ måte. Du øver på Swift Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Swift Academy?
Ingen tidligere erfaring er nødvendig. Swift Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «prefix, suffix og dropFirst»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Swift Academy-leksjonen?
Ja. Alle Swift Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Opprette utsnitt med områder
- ArraySlice-indekssemantikk
- Konvertere utsnitt tilbake til arrayer
- prefix, suffix og dropFirst