Bad Data es-419 Explainer

Explicación de Datos incorrectos

Objetivo de este acertijo: Usar console.log() para depurar el código que no funciona como se esperaba.

Tutorial de la solución: Cuando una función o un bloque de código no funciona correctamente, puede ser útil agregar declaraciones console.log() para ver en mayor detalle lo que está sucediendo.

En este acertijo, el arreglo produce se importa del código adicional. La función getLength() iterará por este arreglo e imprimirá el largo de cada string del arreglo en la consola.

Sin embargo, hay un problema. Para uno de los elementos del arreglo, la función imprime un largo de 0.

Para averiguar cuál es el problema, usemos console.log() para revisar cada string en el arreglo produce.

Para completar el acertijo, agrega un console.log() al for loop y usa la variable de ciclado como un argumento. Esto imprimirá cada string en el arreglo produce en la consola, de uno a la vez.

Una vez que esto se haya realizado, la ejecución del código mostrará que uno de los elementos en el arreglo produce es un string vacío, ¡y ese es la causa del problema!

Solución del código de ejemplo:

import { produce } from 'grasshopper.data';

function getLength(words) {
    for (let word of words) {
        console.log(word);
        console.log(word.length + ' characters long');
    } 
}

getLength(produce);

Conceptos de JavaScript: depuración, console.log(), for loops, .length
Código adicional (código oculto que se ejecuta antes del código del acertijo):

let produce = ['bananas', 'radishes', 'basil', 'asparagus', '', 'leeks', 'potatoes'];