Come funziona esattamente lo array.reverse()
di Javascript? Attraversa e scambia ogni elemento dell'array? In tal caso, è necessario O (n) per scambiare una matrice di dimensione n?Array di Javascript Reverse
Credo che la ragione per cui mi chiedo è perché mi chiedevo se array.reverse()
era lo stesso:
for(var i = 0; i < a.length/2; i++) {
var holder = a[i];
a[i] = a[a.length - 1 - i];
a[a.length - 1 - i] = holder;
}
NOTA: Scusate se il codice Javascript che ho postato non è corretta, è piuttosto tardi al momento.
EDIT: risolto a.length
a a.length/2
.
Non è corretto perché attraversando l'array per intero, scambierete tutti gli elementi due volte e tornerete all'array originale. Usa 'a.length/2' (divisione intera di a.length e 2) – xanatos