prefix, suffix och dropFirst
Hämta delar av en kollektion deklarativt.
prefix, suffix och dropFirst är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 4 lektioner.
prefix(n)
prefix(n) returnerar en slice med de första n elementen. Det är säkert även om n är större än arrayen.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(3)))
print(Array(arr.prefix(99)))suffix(n)
suffix(n) returnerar en slice med de sista n elementen och begränsar också resultatet säkert.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.suffix(2)))
print(Array(arr.suffix(0)))dropFirst
dropFirst() tar bort det första elementet och dropFirst(n) tar bort de första n elementen.
let arr = [10, 20, 30, 40]
print(Array(arr.dropFirst()))
print(Array(arr.dropFirst(2)))dropLast
dropLast() tar bort element från slutet. Precis som de andra metoderna returnerar den en slice.
let arr = [10, 20, 30, 40]
print(Array(arr.dropLast()))
print(Array(arr.dropLast(3)))Alla returnerar slices
Alla dessa metoder returnerar en ArraySlice, inte en ny array. Konvertera när Ni behöver en konkret array.
let arr = [1, 2, 3, 4]
let s = arr.prefix(2)
print(type(of: s))Säkert även med stort n
Till skillnad från indexering med ett intervall utanför giltigt område kraschar dessa metoder aldrig. Om Ni efterfrågar fler element än vad som finns returneras helt enkelt alla tillgängliga element.
let arr = [1, 2]
print(Array(arr.prefix(10)))
print(Array(arr.dropFirst(10)))prefix(while:)
prefix(while:) hämtar element från början så länge ett villkor är uppfyllt och slutar sedan.
let arr = [2, 4, 6, 7, 8]
let evensAtStart = arr.prefix(while: { $0 % 2 == 0 })
print(Array(evensAtStart))drop(while:)
drop(while:) hoppar över inledande element så länge ett villkor är uppfyllt och returnerar resten.
let arr = [2, 4, 6, 7, 8]
let rest = arr.drop(while: { $0 % 2 == 0 })
print(Array(rest))Kombinera metoder
Kedja dessa metoder för att uttrycka slicing koncist, till exempel för att hämta allt utom det första och sista elementet.
let arr = [10, 20, 30, 40, 50]
let middle = arr.dropFirst().dropLast()
print(Array(middle))Mönstret inspektera kontra ta bort
Använd first för att inspektera det första elementet och dropFirst() för att hämta resten. Det är ett vanligt funktionellt mönster för att bearbeta listor.
let queue = [100, 200, 300]
if let head = queue.first {
let tail = Array(queue.dropFirst())
print("head:", head, "tail:", tail)
}Tydligare avsikt
Dessa metoder kommunicerar avsikten bättre än manuella intervall. arr.suffix(3) är tydligare än arr[(arr.count-3)...].
let arr = [1, 2, 3, 4, 5, 6]
print(Array(arr.suffix(3)))Snabbtest
Testa hur prefix och drop fungerar.
Sammanfattning
prefix(n) och suffix(n) hämtar element från ändarna, medan dropFirst och dropLast tar bort element från ändarna. Alla returnerar slices och är säkra med större antal än vad som finns. prefix(while:) och drop(while:) använder predikat.
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(2)), Array(arr.suffix(2)), Array(arr.dropFirst()))Lär dig Swift med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 122
- Lektioner
- 409
Vanliga frågor
Är lektionen ”prefix, suffix och dropFirst” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”prefix, suffix och dropFirst”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”prefix, suffix och dropFirst”?
Hämta delar av en kollektion deklarativt. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Swift Academy?
Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”prefix, suffix och dropFirst”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Swift Academy-lektionen?
Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Skapa slices med intervall
- ArraySlice-indexets innebörd
- Konvertera slices tillbaka till arrayer
- prefix, suffix och dropFirst