Jak mogę usunąć pierwsze elementy n
z tablicy Int
w Swift?Usuń pierwsze n elementów z tablicy Int w Swift
Na przykład:
var array = [0, 1, 2, 3, 4, 5, 6]
let n = 4
Tablica wynik zawiera następujące elementy:
[4, 5, 6]
Jak mogę usunąć pierwsze elementy n
z tablicy Int
w Swift?Usuń pierwsze n elementów z tablicy Int w Swift
Na przykład:
var array = [0, 1, 2, 3, 4, 5, 6]
let n = 4
Tablica wynik zawiera następujące elementy:
[4, 5, 6]
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.)
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]
To doesn ' t już dla mnie działa: 'Nie można indeksować wartości typu '[String]' z indeksem 'CountableRange
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
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
.
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
@KPM Pamięć musi tam być. Jeśli nie, w jaki sposób możemy uzyskać dostęp do oryginalnej tablicy? –
Il_ nadal będzie tam po zwolnieniu oryginalnej tablicy, ponieważ podsekwencja nadal będzie obejmowała całą oryginalną tablicę. – KPM