Todo o nada Explainer

Explicación de Todo o nada

Objetivo de este acertijo: Completar la función check() para que devuelva el número de pruebas, o false si algunas de las pruebas fallan.

Tutorial de la solución: La variable testResults es un arreglo de strings. Cada string es 'pass' o 'fail'. Por ejemplo, podría ser ['pass', 'fail', 'pass'] o ['pass', 'pass', 'pass', 'pass'].

Una vez que se complete la función check(), se supone que podrá devolver 'failed' en el primer ejemplo o 4 en el segundo ejemplo.

Para comenzar, la función usa 1 parámetro, results, que almacenará el arreglo de pruebas. Para ver el resultado de cada prueba, podemos usar un for loop. for (var test of results) {...}.

Dentro del ciclo, debemos verificar si la test es 'pass' o 'fail'. Si es 'pass', podemos continuar para verificar el siguiente elemento. Si es 'fail', entonces sabemos que la función simplemente debe devolver 'failed'. Inside the loop, add

if (test === 'fail') {
  return 'failed';
}

Si todos los elementos en el ciclo son 'pass', entonces podemos devolver el número total de pruebas aprobadas, que es simplemente la longitud del arreglo results. Después del ciclo, pero todavía dentro de la declaración de función, return results.length. También puedes agregar + ' tests passed' para que quede más claro qué significa el número.

Código de solución:

import {testResults} from 'grasshopper.laboratory';

function check(results) {
    for (var testResult of results) {
        if (testResult === 'fail') {
return 'failed';
        }
    }
    return results.length + ' tests passed';
}
console.log(check(testResults));

Código adicional (código oculto que se ejecuta antes del código del acertijo):

const _len = 3 + pickRandom(3);
let testResults = Array(_len).fill('pass');

 if (Math.random()<0.5) {
    _res[pickRandom(_len)-1] = 'fail';
}
5 Likes

Saludos, llevo dos días practicando con esta app.
Realmente no tengo experiencia en programación pero me surgieron algunas dudas durante el ejercicio de “todo o nada”

Por qué me aparece que estás fórmulas están bien? Si en la que mande a llamar el argumento “result” me dice que es correcto pero no arroja la respuesta correcta en el recuadro?

Mira aquí te dejo el código correcto espero te ayude.


Me avisas si te sirve

image
QUITALE LO QUE ESTA CON ROJO Y TE DEJARA PASAR,ME AVISAS SI TE SIRVIO POR FAVOR.

Le agradezco mucho si me sirvió, de hecho eh estado avanzado a buen ritmo.
Le agradezco mucho su apoyo