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

131
Vistas
Comprobando si la matriz tiene un número mayor que el especificado

Quiero escribir una función que tome una matriz como argumento y devuelva cuántos números se pueden dividir entre 12. Sin embargo, si la matriz tiene un número mayor que 111, entonces debería devolver 0; Yo escribí esto:

 function isDivisble(array) { let numberOfNum = 0; for(let i=0; i < array.length; i++) { if(array[i] % 12 == 0 && array[i] < 111) { numberOfNum = numberOfNum + 1 ; } else { numberofNum = 0; } } return console.log(numberOfNum); } let test = [12, 24, 36, 44, 55, 255]; isDivisble(test)

Me di cuenta de que este código verifica individualmente si el número actual es divisible y no superior a 111 y no globalmente si la matriz tiene un número superior a 111, pero no entiendo cómo hacer una verificación de matriz general. ¿Escribir un bucle for con la declaración if para verificar y luego otro bucle for dentro de la declaración if lo hace un poco espagueti?

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

0

Puede usar algunos para verificar si hay algún elemento que sea mayor que 111 primero. Luego puede usar el filtro para obtener el elemento que es divisible por 12. Así:

 const isDivisible = (arr) => { if (arr.some((e) => e > 111)) return 0; return arr.filter((e) => e % 12 === 0).length; }; const test = [12, 24, 36, 44, 55, 48]; console.log(isDivisible(test));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Modifiqué ligeramente su función que devuelve 0 si un número es mayor que 111; de lo contrario, verifica si es divisible por 12

 function isDivisble(array) { let count = 0; for(let i=0; i<array.length; i++){ if(array[i] > 111){ return 0; }else{ if(array[i] % 12 === 0){ count++ } } } return count; } let test = [12, 24, 36, 44, 55, 255]; console.log(isDivisble(test));

about 4 years ago · Juan Pablo Isaza Denunciar

0

El método de some matriz hará el truco:

array.some(value => { return value > 111 }) devolverá verdadero si alguno de sus valores es mayor que 111.

También puede verificar si cada valor de matriz respeta una determinada condición usando array.every con una devolución de llamada similar:

array.every(value => { return value <= 111 }) es verdadero solo si cada valor en la matriz es inferior o igual a 111.

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