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

151
Vistas
Encontrar el valor de número de número más bajo y más alto en una matriz

Estoy luchando por saber cómo funciona este código, ¿cómo funciona la parte maxNum? maxNum[0] <numbers[i] ¿cómo toma el último número de la matriz?

 function sortThem(numbers) { let minNum = numbers[0] let maxNum = numbers[0] for (let i = 0; i < numbers.length; i++) { if (minNum > numbers[i]) { minNum = numbers[i] } else if (maxNum < numbers[i]) { maxNum = numbers[i] } } console.log(maxNum) const minMax = [minNum, maxNum] return minMax } const results = sortThem([2, 9, 10, 17, 45]) console.log(results)

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Ambos comienzan en 2 en este ejemplo.

 let minNum = numbers[0]//equals first element in the numbers array and thats 2 in this example let maxNum = numbers[0]// equals 2 as well

Luego comienzas a iterar a través de la matriz de números

Veamos cómo obtienes tu número más bajo primero:

 if(minNum > numbers[i]){ 1st loop minNum = 2 not greater than 2, nothing happens 2nd loop minNum = 2 not greater than 9, nothing happens 3rd loop minNum = 2 not greater than 10, nothing happens 4th loop minNum = 2 not greater than 17, nothing happens last loop minNum = 2 not greater than 45, nothing happens

minNum = nunca cambia durante toda la iteración porque no se encontró ningún número menor que 2, por lo que mantiene el valor inicial

Ahora para el maxNum:

 } else if (maxNum < numbers[i]){ 1st loop maxNum= 2, numbers[i]=2, numbers[i] not greater than maxNum, nothing happens 2nd loop maxNum= 2, numbers[i]=9, numbers[i] is greater than maxNum, maxNum=9 now 3rd loop maxNum= 9, numbers[i]=10, numbers[i] is greater than maxNum, maxNum=10 now 4th loop maxNum= 10, numbers[i]=17, numbers[i] is greater than maxNum, maxNum=17 now last loop maxNum= 17, numbers[i]=45, numbers[i] is greater than maxNum, maxNum=45 now

maxNum se sobrescribirá siempre que pueda encontrar un número mayor que el valor previamente almacenado. Espero que eso explique lo que no entiendes.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado un contexto que no entiendo completamente, estimo que desea saber cómo funciona la comparación.

 function sortThem(numbers) { let minNum = numbers[0] let maxNum = numbers[0] for (let i = 0; i < numbers.length; i++) { // you can start loop at index 1 since you have set default val to 0 if (minNum > numbers[i]) { // if my current number in array is smaller than the most recent minNum minNum = numbers[i] // set minNum to current number Exit out of if/else structure since else will not be triggered } else if (maxNum < numbers[i]) { // if currentNumber is greater than given maxNum maxNum = numbers[i] //set maxnum to current number } } console.log(maxNum) const minMax = [minNum, maxNum] //useless return minMax // return [minNum, maxNum]; } const results = sortThem([2, 9, 10, 17, 45]) console.log(results)

No tengo idea si respondió a su pregunta, pero creo que esa es la explicación de esta función.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Usted define minNum y maxNum , que comienzan siendo solo un valor de la matriz (en este caso, el índice 0 / el primero, que es 2).

for (let i = 0; i < numbers.length; i++) { /* ...*/ } significa que todo dentro de {} se repetirá la misma cantidad de veces que la matriz tiene índices, y cada iteración se incrementará i por uno (comenzando con 0, por lo que recorrerá todos los índices de la matriz de números)

por lo que los numbers[i] obtienen valor en la i -ésima posición (la primera vez será 2 , la segunda vez 9 ...)

Las condiciones if verifican si el minNum / maxNum actual es menor/mayor que el valor en el i -ésimo índice de la matriz de números, y si lo es, establece minNum / maxNum en ese valor, por lo que aumenta / disminuye.

Básicamente, el código pasa por cada valor en la matriz que definiste, y cada vez que encuentra un valor mayor, lo establece como valor para minNum / maxNum .

En este caso, minNum se establece en 2 y, como es el más pequeño de todos, se mantiene en 2. maxNum comienza en 2, aumenta a 9, 10, 17 y luego a 45.

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