Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

519
Vistas
Función isSorted en Javascript: cómo usar for-of-loop en el código

Soy un principiante en la escritura de código JS y tengo una pregunta sobre la función isSorted.

Se supone que debo usar for-of-loop en el código.

Aquí está la tarea:

Declara una función ordenada.

 /** * @param {Array<number>} ??? - an array of numbers * @returns {boolean} whether or not the given array is sorted */

Esto es lo que escribí

 function isSorted(array) { const result = []; for (const number of array) { if (number < number1 && number2 ) { result.push(number); } return true; } }

Aquí está el mensaje de error que me sale

mensaje de error

Aquí está la prueba que no pude pasar con mi código anterior

 actual = isSorted([1, 2, 3]); expected = true; if (actual === expected) { console.log("Test PASSED."); } else { console.error("Test FAILED. Keep trying!"); console.group("Result:"); console.log(" actual:", actual); console.log("expected:", expected); console.groupEnd(); } actual = isSorted([3, 2, 3]); expected = false; if (actual === expected) { console.log("Test PASSED."); } else { console.error("Test FAILED. Keep trying!"); console.group("Result:"); console.log(" actual:", actual); console.log("expected:", expected); console.groupEnd(); }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede comparar el i-ésimo elemento de la matriz con el siguiente. Si un elemento es mayor que el siguiente, la matriz no se ordena

 function isSorted(array) { for (let i = 0; i < array.length; ++i) { if (array[i + 1]) { if (array[i] > array[i + 1]) { return false; } } } return true; }

O puede reducir su matriz a un valor booleano (ver Array.prototype.reduce() ):

 function isSorted(array) { return array.reduce((prev, cur) => prev !== false && cur >= prev && cur) }

donde prev es el valor resultante de la iteración anterior y cur el elemento de la iteración actual.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Pruebe esta función ordenada:

 function isSorted(array) { let previousNo = null; for (const number of array) { if (previousNo != null && number < previousNo) { return false; } previousNo = number; } return true; }

Todavía usa el bucle for..of, y esto es lo que está haciendo:

  • "previousNo" almacenará el número que se había visto durante la iteración anterior del ciclo, para que podamos ver si nuestro número actual es menor. si es así, eso significa que los números no están almacenados en orden ascendente, es decir, no están ordenados (por lo que devolvemos falso en este caso).
  • Si no se encontraron problemas en el ciclo, devolvemos verdadero (su versión también hizo esto, la única diferencia es que usted devolvió verdadero dentro del ciclo, evitando que se verifiquen los otros elementos).
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta función compara los miembros de la matriz: el primero con el segundo, el segundo con el tercero... etc. Si el siguiente miembro de la matriz es menor que el real, devuelve falso (la matriz no está ordenada).

 function isSorted(array) { for (var i = 0; i<array.length; i++) { if (array[i] > array[i+1]) { return false; } } return true; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda