Introducción
En este laboratorio, trabajaremos con la función isSorted en JavaScript para determinar si una matriz numérica está ordenada en orden ascendente o descendente. Utilizaremos el método Math.sign() para convertir el valor final de dirección en -1 para el orden descendente y 1 para el orden ascendente. También manejaremos casos en los que la matriz está vacía, tiene solo un elemento o la dirección cambia para cualquier par de elementos adyacentes de la matriz.
Práctica de código: Comprobar si una matriz está ordenada
Para practicar la codificación, abre la Terminal/SSH y escribe node.
Aquí hay una función para comprobar si una matriz numérica está ordenada:
const isSorted = (arr) => {
if (arr.length <= 1) return 0;
const direction = arr[1] - arr[0];
for (let i = 2; i < arr.length; i++) {
if ((arr[i] - arr[i - 1]) * direction < 0) return 0;
}
return Math.sign(direction);
};
Para utilizarla, pasa una matriz de números a isSorted(). La función devolverá 1 si la matriz está ordenada en orden ascendente, -1 si está ordenada en orden descendente y 0 si no está ordenada.
Aquí hay algunos ejemplos:
isSorted([0, 1, 2, 2]); // 1
isSorted([4, 3, 2]); // -1
isSorted([4, 3, 5]); // 0
isSorted([4]); // 0
Resumen
¡Felicidades! Has completado el laboratorio de Matriz Ordenada. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.