La matriz está ordenada

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") subgraph Lab Skills javascript/variables -.-> lab-28150{{"La matriz está ordenada"}} javascript/data_types -.-> lab-28150{{"La matriz está ordenada"}} javascript/arith_ops -.-> lab-28150{{"La matriz está ordenada"}} javascript/comp_ops -.-> lab-28150{{"La matriz está ordenada"}} javascript/cond_stmts -.-> lab-28150{{"La matriz está ordenada"}} javascript/loops -.-> lab-28150{{"La matriz está ordenada"}} javascript/array_methods -.-> lab-28150{{"La matriz está ordenada"}} end

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.