¿Puede alguien ayudarme por favor arreglar mi código? Estaba usando el método forEach en este ejercicio
Creo que estoy cerca, pero todavía me da indefinido, ya está dentro del resultado. Fallo porque lo verifiqué agregando otra cadena/número.
const result = { success: ["max-length", "no-amd", "prefer-arrow-functions"], failure: ["no-var", "var-on-top", "linebreak",], skipped: ["no-extra-semi", "no-dup-keys"] }; function makeList(arr) { // Only change code below this line const failureItems = []; const results = arr.forEach(k => failureItems.push(`<li class="text-warning">${arr[k]}</li>`)); // Only change code above this line return failureItems; } const failuresList = makeList(result.failure); console.log(failuresList);debe ser resultado de esto
[ '<li class="text-warning">no-var</li>', '<li class="text-warning">var-on-top</li>', '<li class="text-warning">linebreak</li>' ]pero en este código mi resultado es este
[ '<li class="text-warning">undefined</li>', '<li class="text-warning">undefined</li>', '<li class="text-warning">undefined</li>' ]Quiere concatenar k . También como se menciona en los comentarios, Array#forEach devuelve undefined .
Para arreglar lo anterior:
arr.forEach(k => failureItems.push(`<li class="text-warning">${k}</li>`)); Otra solución usando Array#map :
function makeList(arr) { return arr.map(k => `<li class="text-warning">${k}</li>`); } const result = { success: ["max-length", "no-amd", "prefer-arrow-functions"], failure: ["no-var", "var-on-top", "linebreak",], skipped: ["no-extra-semi", "no-dup-keys"] }; const failuresList = makeList(result.failure); console.log(failuresList);