Cómo invertir una matriz de JavaScript

Tuve la necesidad de revertir una matriz de JavaScript, y esto es lo que hice.

Dada una matrizlist:

const list = [1, 2, 3, 4, 5]

La forma más fácil e intuitiva es llamar alreverse()método de una matriz.

Este método altera la matriz original, por lo que puedo declararlistcomo una constante, porque no necesito reasignar el resultado de llamarlist.reverse()lo:

const list = [1, 2, 3, 4, 5]
list.reverse()

//list is [ 5, 4, 3, 2, 1 ]

Puede emparejar este método con el operador de propagación para copiar primero la matriz original y luego invertirla, de modo que la matriz original no se modifique:

const list = [1, 2, 3, 4, 5]
const reversedList = [...list].reverse()

//list is [ 1, 2, 3, 4, 5 ] //reversedList is [ 5, 4, 3, 2, 1 ]

Otra forma es usarslice()sin pasar argumentos:

const list = [1, 2, 3, 4, 5]
const reversedList = list.slice().reverse()

//list is [ 1, 2, 3, 4, 5 ] //reversedList is [ 5, 4, 3, 2, 1 ]

pero encuentro que el operador de propagación es más intuitivo queslice().


Más tutoriales de js: