En este tutorial vamos a ver cómo puedes cambiar de orden los elementos de un array de modo que estén invertidos. Podrías usar un bucle e invertir el array manualmente, aunque como veremos, en JavaSscript existen formas mucho más rápidas de lograr nuestro objetivo:
Para empezar, vamos a partir del siguiente array al que llamaremos letras
:
const letras = ['a', 'b', 'c', 'd','e'];
Cómo invertir el propio array
Un método efectivo de inversión podría consistir en usar el método reverse()
, que alterará el propio array sobre el que se ejecute. De este modo, podríamos declarar el array como una constante y no necesitaríamos reasignar el resultado del método:
const letras = ['a', 'b', 'c', 'd','e'];
letras.reverse();
console.log(letras);
El resultado de la función anterior será un array con los valores ['e','d', 'c', 'b', 'a']
.
Cómo obtener un nuevo array invertido
Si quieres asignar el resultado a otra variable o constante, puedes usar el operador spread ...
, de modo que podamos asignar los elementos del array a un nuevo array:
const letras = ['e','d', 'c', 'b', 'a'];
const letrasInvertidas = [...letras].reverse();
console.log(letras);
console.log(letrasletrasInvertidas);
De esta forma, la constante letras
seguirá manteniendo los elementos ['a', 'b', 'c', 'd','e']
, mientras que la constante letrasInvertidas
contendrá los elementos ['e','d', 'c', 'b', 'a']
.
Todavía existe otra forma mediante la cual puedes invertir un array y obtenerlo en una nueva varaible sin la necesidad de usar el operador spread. Consiste en usar el método slice()
sin pasarle ningún parámetro, justo antes de invertir el array:
const letras = ['a', 'b', 'c', 'd','e'];
const letrasInvertidas = letras.slice().reverse();
console.log(letras);
console.log(letrasletrasInvertidas);
La constante letras
mandentrá los elementos ['a', 'b', 'c', 'd','e']
, mientras que la constante letrasInvertidas
contendrá los elementos ['e','d', 'c', 'b', 'a']
.
Y esto ha sido todo.