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

301
Vistas
problema con la asignación de matriz de javascript, ¿cómo puede funcionar "== verdadero: falso" en este código?

Estoy estudiando javascript y aquí está mi problema.

Me dieron la variable llamada "couldBeAnything" que puede ser cualquier tipo de datos. Y otra variable que nombró resultado, también. Debo verificar si la variable dada es una matriz y luego asignar verdadero al resultado. Otros casos entonces falso para dar como resultado. Aquí está el código.

 function checkIsArray(couldBeAnything) { var result = true ? Array.isArray(couldBeAnything) == true : false return result; }

Perdón por mi sorpresa, porque este código es de mi superior, por lo que no puedo entenderlo claramente, solo entiendo si es así, ¿podría explicarme este código? ¿Cómo funciona la dosis? Muchísimas gracias.

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

0

Esto funciona porque está realizando varias operaciones sin sentido que complican su lectura, pero en realidad solo usa Array.isArray .

 Array.isArray(couldBeAnything) == true

Si se pasa una matriz, Array.isArray es verdadero, verdadero == verdadero es verdadero.

Entonces, lo que obtienes es, si se pasa una matriz:

 var result = true ? true : false;

Cual es verdad.

Y para una no matriz:

 var result = true ? false : false;

Lo cual es falso.

Con suerte, esto es el resultado de varias refactorizaciones o fusiones perezosas, porque escribir esto a propósito es bastante tonto, como han dicho otros.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que no has estado expuesto a operadores ternarios.

 let x=true let result if(x){ result="Thats true" } else{ result="No thats false" } console.log(result)

Lo anterior se puede escribir como

 let x=true let result=x?"That's true":"No that's false" console.log(result)

La lógica es que si la expresión anterior a ? es cierto entonces el código después de ? se ejecutará y, si es falso, se ejecutará el código después de : .

Eso es simple, ¿verdad?

En tu caso el código está mal. Debería ser así:

 function checkIsArray(couldBeAnything) { var result = Array.isArray(couldBeAnything) ? true : false return result; }

Pero no hay necesidad de condiciones ternarias aquí. Puedes usar esto directamente

 function checkIsArray(couldBeAnything) { return Array.isArray(couldBeAnything) }
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