2016-06-08 15 views

Odpowiedz

28
let result = Array(array.dropFirst(n)) 

(Dzięki MPW i WolfLink za wskazanie, że let result = array.dropFirst(n) zestawów result do ArraySlice które nie zachowują ważność, jeśli pierwotna tablica zostanie zwolniona.)

+0

Należy zachować ostrożność, to po prostu zwróciłby podsekcję, tj. Specjalny widok na tablicy, który unika n pierwszych elementów. Pamięć wciąż tam będzie, kręcąc się. – KPM

+0

@KPM Pamięć musi tam być. Jeśli nie, w jaki sposób możemy uzyskać dostęp do oryginalnej tablicy? –

+0

Il_ nadal będzie tam po zwolnieniu oryginalnej tablicy, ponieważ podsekwencja nadal będzie obejmowała całą oryginalną tablicę. – KPM

2

można wykorzystywać szereg pokroić na tablicy:

var array = [1,2,3,4,5,6] 
let n = 4 
print(array[n..<array.count]) //[4,5,6] 
+2

To doesn ' t już dla mnie działa: 'Nie można indeksować wartości typu '[String]' z indeksem 'CountableRange ''. – Richard

+0

Należy zachować ostrożność, to po prostu zwróciłby podsekcję, tj. Specjalny widok na tablicy, który unika n pierwszych elementów. Pamięć wciąż tam będzie, kręcąc się. – KPM

2

Nieco bardziej zwięzły niż pana Johnsona odpowiedź:

let result = array.suffix(3) 

bym nadal iść z jego ponieważ dropFirst jest bardziej intuicyjne/czytelny niż suffix.

Powiązane problemy