Nonzero Numbers es-419 Explainer

Explicación de Números distintos de cero

Objetivo de este acertijo: Presentar el concepto de Truthy y falsy.

Tutorial de la solución: La prueba de una if statement siempre es true o false. Por ejemplo:


let x = 3

if (x === 3) {

console.log('true!')

}

Este código imprimirá 'true!' porque x es igual a 3.

Sin embargo, ¿qué sucede si lo escribimos así?


let x = 3

if (x) {

console.log('true!')

}

Este código también imprimirá 'true!'. ¡Extraño!

Este código funciona porque cada valor en JavaScript es “truthy” o “falsy”.

Se ve confuso, pero es algo más simple de lo que parece.

Solo hay 6 valores falsy en JavaScript. Todo lo demás es truthy. Los 6 valores falsy son:

  1. false: el valor boolean false

  2. 0: el número 0

  3. '': Un string vacío

  4. NaN: que significa “Not a Number” (no es un número), y generalmente es producto de errores matemáticos

  5. undefined: el valor de una variable antes de que se le haya asignado un valor

  6. null: un valor en blanco que se puede asignar a una variable

En este acertijo, se configura un classic for loop con i definido inicialmente en 0 - 3(esta es una solución para la mayoría de los teclados de teléfonos móviles que no permite que los usuarios ingresen números negativos). Ciclará siempre quei < 4eise incrementen en1` con cada iteración.

Dentro del for loop, agrega una if statement. Si i tiene un valor truthy, console.log() imprimirá i. Si i tiene un valor falsy, no se imprimirá.

Cuando se ejecuta el código, cada número de -3 a 3, excepto 0 que se imprimirá en la consola.

Solución del código de ejemplo:


for (let i = 0 - 3; i < 4; i++) {

if (i) {

console.log(i);

}

}

Conceptos de JavaScript: truthy y falsy, if statements, booleans, console.log(), for loops

1 Like

No hay forma de que vea la solución del ejercicio. Pocos operadores.

3 Likes
If (i){
console.log(0)
console.log(i)
}

Dentro del If Statement debe ir dos console.log()
El 1ro con el valor 0
El segundo con valor i

3 Likes

No entiendo, sé que si pongo cualquier cosa excepto los valores que falsy toma dentro de una if statement, el código se ejecutará, pero por qué
If (i){
Console.log(i)
}
No imprimirá 0 en un for classic? Lo único que ahí entiendo es que solo primira i, al menos quisiera saber cómo es que se relaciona esa if statement con el for classic y no imprime 0

Hola cómo es que se hace este problema ?? No entiendo

Lo resolví el acertijo

No fue sencillo pero lo logré, para los que batallan es solo eliminar el código console.log base que vienen en conjunto con F.O.L, y justo debajo de F.O.L agregar un IF y como valor principal la ( i ), después dentro de los {} introducen console.log ( i ) y listo

Da bronca tener que enterarse por un compañero una cosa que no sale, la unica manera es hacer ingenieria inversa al codigo si no te dicen que este soporta hacer eso en una if statement

1 Like