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

188
Vistas
Crear funciones con devoluciones de parámetros - Javascript

Estoy un poco confundido o tal vez solo por falta de conocimiento. Recién dando mis primeros pasos. Mi pregunta es: necesito probar cuándo un par de números (como 100, digamos 5) se comparará correctamente como números e incorrectamente como cadenas. Cómo arreglarlo correctamente. No puedo encontrar la mejor manera de probar esta última opción. La primera prueba es ambos números iguales La segunda prueba es el primer número más grande La tercera prueba es el segundo número más grande

Pensé que tal vez debería decir Fiel a la primera prueba. Y diga Falso cuando los números sean cadenas. ??

 <script type="text/JavaScript"> alert(largest(false,false)); alert(largest(true,false)); alert(largest(false,true)); alert(); </script>
 function largest (firstNum, secondNum) { let largestNumber = largest; firstNum = parseInt(prompt('Enter the first number: ')); secondNum = parseInt(prompt('Enter the second number: ')); if (firstNum == secondNum) { //3 return false; /// maybe True?.. see my question } else { if (firstNum > secondNum) { //1 return largest = firstNum; } else if (firstNum < secondNum) { //2 return largest = secondNum; } if (isNaN(firstNum, secondNum)) { /// false if strings? return false; } } return largestNumber; } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Su función está haciendo tantas cosas como puedo ver. Está devolviendo verdadero/falso, el número más grande, etc.

¡Te sugiero que limpies un poco tu código de esta manera!

 function largest() { const firstNum = parseInt(prompt('Enter the first number: ')); const secondNum = parseInt(prompt('Enter the second number: ')); if (isNaN(firstNum) || isNaN(secondNum)) { alert('Invalid input!'); return null; // return largest(); // This could work too } if (firstNum > secondNum) { return firstNum; } return secondNum; }

Primero, le pedimos al usuario que ingrese ambos números. Luego, verificamos si los valores son válidos, isNaN nos ayuda con eso, y si hay algo incorrecto, mostramos, alertamos y regresamos.

Si los números son válidos, comprobamos

Si firstNumber es mayor que secondNumber, el mayor debe ser firstNumber

De lo contrario, devolvemos secondNumber (Último caso)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su pregunta no está bien formulada, por lo que no estaba completamente seguro, pero supuse que quería decir que la comparación solo debería devolver true si se basaba en una comparación numérica (es decir, cualquier entrada de cadena debería devolver false

Si esa era tu pregunta, podrías intentarlo así:

 const arr = [[100,5],["100",5],[100,"5"],["100", "5"]] // return true if first value is bigger function compare(v1, v2) { if (typeof(v1)==="string" || typeof(v2)==="string") return false; else return (v1 > v2); } // return array [boolean, boolean] for each of the input values function acompare(v1, v2) { if (typeof(v1)==="string" || typeof(v2)==="string") return [false, false, false]; else return [(v1 > v2), (v1 < v2), (v1===v2)]; } for (let a of arr) { console.log(compare(a[0],a[1]), acompare(a[0],a[1])) } //returns //true, [true, false] //false, [false, false] //false, [false, false] //false, [false, false]

ver: https://jsfiddle.net/d2sv7xcb/5/

De esta manera, siempre que cualquiera de los argumentos sea una cadena, devuelve falso, si no, ¿devuelve el valor de la comparación?

@Editar: siguiendo su comentario, he agregado === al valor de retorno de la función, ¿de esa manera obtiene una matriz para la comparación?

 [false, false, false] = no valid comparison [true, false, false] = value 1 > value 2 [false, true, false] = value 1 < value 2 [false, false, true] = value 1 === value 2
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