Mapping isn't working

Tell us what’s happening:
This should work, shouldn’t it ?

Your code so far


const result = {
 success: ["max-length", "no-amd", "prefer-arrow-functions"],
 failure: ["no-var", "var-on-top", "linebreak"],
 skipped: ["id-blacklist", "no-dup-keys"]
};
function makeList(arr) {
 "use strict";

 // change code below this line
 const resultDisplayArray = result.map(
    failure => `<li class="text-warning">${failure}</li>`);
 // change code above this line

 return resultDisplayArray;
}
/**
* makeList(result.failure) should return:
* [ `<li class="text-warning">no-var</li>`,
*   `<li class="text-warning">var-on-top</li>`,
*   `<li class="text-warning">linebreak</li>` ]
**/
const resultDisplayArray = makeList(result.failure);

Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0.

Challenge: Create Strings using Template Literals

Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals

you are not looping through the failure array because you have forgot to put it as dot notation after result, it should look like this result.failure.map()

That is incorrect, .map is only for arrays, you are trying to map an object, so, if you only want to map failure you need to do something like this:

result.failure.map(item => { // rest of your code })

as you can see failure is an array, so can use .map()

1 Like

Awesome. Next time I know. Thank you and God bless.

1 Like