Stuck on creating strings using template literals JS

I can’t seem to find the issue with the code here.
There are posts on the forum regarding this but none unfortunately with the same issue I’m experiencing.

It keeps telling me “‘failuresList’ should be an array containing ‘result failure’ messages.”


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 = [];
for (let i = 0; i < arr.length; i++) {
  failureItems.push(`<li class="text-warning">${arr[i]}</li>`);
return failureItems;
}
}

const failuresList = makeList(result.failure);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36.

Challenge: Create Strings using Template Literals

Link to the challenge:

Your return statement here terminates the function and interrupts your loop.

1 Like

Thank you for the quick reply
Could you please tell me the fix since I don’t know how else I should write it?
Thanks in advance

I would move the return outside of your loop.

1 Like

Thanks a lot.
So return just prevented the code inside the for loop from executing at all?

Your loop body executed once, encountered the return, and then returned from the function immediately.

1 Like

Ok, thanks for the really quick help.