JavaScript JavaScript Array Iteration Methods Combining Array Methods Combining filter() and map()

I'm getting a "Unexpected token ILLEGAL" error on line 29. I feel like the code and syntax is correct.

I feel like my syntax and code are correct. Where am I going wrong?

app.js
const todos = [
    {
        todo: 'Buy apples',
        done: false
    },
    {
        todo: 'Wash car',
        done: true
    },
    {
        todo: 'Write web app',
        done: false
    },
    {
        todo: 'Read MDN page on JavaScript arrays',
        done: true
    },
    {
        todo: 'Call mom',
        done: false
    }
];
let unfinishedTasks;

// unfinishedTasks should be: ["Buy apples", "Write web app", "Call mom"]
// Write your code below
unfinishedTasks = todos
  .filter(task => task.done == 'false')
  .map(task => `${task.todo}`);

2 Answers

Clayton Perszyk
MOD
Clayton Perszyk
Treehouse Moderator 46,805 Points

In filter, you are comparing a boolean to a string. Remove the template literal syntax from map.

The problem is in the method filter. like Calyton said, you're comparing a string to a boolean. Write false with no quotes. The template literal at map is not intervening, but it's unnecessary in this case. task.todo would be enough.