Novedades ES6

Ordenamiento de Arrays con métodos sort() y reverse()

El método sort ordena los elementos de un array en forma ascendente mientra que el metodo reverse invierte el orden de los elementos en un array.

Sort

El método sort () ordena los elementos de una matriz.

El orden de clasificación puede ser alfabético o numérico, ascendente (hacia arriba) o descendente (hacia abajo). De forma predeterminada, el método sort () ordena los valores como cadenas en orden alfabético y ascendente.

Esto funciona bien para cadenas ("Banana" viene antes que "Manzana"). Sin embargo, si los números se ordenan como cadenas, "25" es mayor que "100", porque "2" es mayor que "1". Debido a esto, el método sort () producirá un resultado incorrecto al ordenar números almacenados como cadenas.

Puede solucionar este problema proporcionando una "función de comparación".

Nota: este método cambia el array original.

<!DOCTYPE html>
<html>
<body>

<p>Haga clic en el botón para ordenar la matriz.</p>

<button onclick="myFunction()">Probar</button>
<p><b>Array original</b></p>
<p id="demo"></p>
<p id="demo2"></p>
<p id="demo1"></p>

<script>
var fruits = ["Kiwi", "Naranja","Tomate", "Manzana", "Mango", "Banana"];
document.getElementById("demo").innerHTML = fruits;

function myFunction() {
  fruits.sort();
  document.getElementById("demo2").innerHTML = '<b>Array ordenado</b>';
  document.getElementById("demo1").innerHTML = fruits;
}
</script>
</body>
</html>



Reverse

El método reverse() invierte el orden de los elementos en un array, el primer elemento pasa a ser el último y el último pasa a ser el primero.

Nota: este método cambiará la matriz original.Este método cambia el array original.

<!DOCTYPE html>
<html>
<body>

<p>Haga clic en el botón para ordenar la matriz.</p>

<button onclick="myFunction()">Probar</button>
<p><b>Array original</b></p>
<p id="demo"></p>
<p id="demo2"></p>
<p id="demo1"></p>

<script>
var fruits = ["Uno", "Dos","Tres", "Cuatro", "Cinco", "Seis"];
document.getElementById("demo").innerHTML = fruits;

function myFunction() {
  fruits.reverse();
  document.getElementById("demo2").innerHTML = '<b>Array con Reverse</b>';
  document.getElementById("demo1").innerHTML = fruits;
}

</script>
</body>
</html>