Ecmascript 6 对映射的对象数组使用filter(),但忽略用于筛选的数据

Ecmascript 6 对映射的对象数组使用filter(),但忽略用于筛选的数据,ecmascript-6,Ecmascript 6,我使用了以下映射的对象数组filter()。这是一个待办任务列表,我只想从中筛选出尚未完成的任务(但没有false值表示尚未完成)。换句话说,我只想显示任务本身,如果它们确实还没有完成的话 代码的目的是学习如何从过滤内容中省略该数据(false)声明 let todos = [ { todo: 'Buy apples', done: false }, { todo: 'Wash car', done: tru

我使用了以下映射的对象数组
filter()
。这是一个待办任务列表,我只想从中筛选出尚未完成的任务(但没有
false
值表示尚未完成)。换句话说,我只想显示任务本身,如果它们确实还没有完成的话

代码的目的是学习如何从过滤内容中省略该数据(
false
)声明

let 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
    }
];
我试过:

unfinishedTasks = todos.map( (e)=> e).filter( (e)=> e.done == false);
以及:

unfinishedTasks = todos.filter( (e)=> e).map( (e)=> if ( e.done == false ) {e.todo} );
第一个输出基本上是正确的-错误的todo存在,但它们附近有
false
关键字-当然,我想省略的关键字:

[{“todo”:“买苹果”,“完成”:假},{“todo”:“写网络应用”,“完成”:假},{“todo”:“打电话给妈妈”,“完成”:假}]

第二项产出:

意外标记“如果”

我想要的(从输出中输入
false
关键字):

[“买苹果”、“写网络应用”、“打电话给妈妈”]

我在执行代码段中运行代码。要在那里进行测试,必须是注册的树屋学生


我可能需要在过滤内容上使用另一个
filter()
,或者使用一些
if-than
语句?我没有任何线索。

首先按
项筛选。完成
,然后映射到
项。todo

const-todos=[{todo:'Buy apples',done:false},{todo:'Wash car',done:true},{todo:'Write web app',done:false},{todo:'Read MDN page on JavaScript数组',done:true},{todo:'Call mom',done:false}];
const out=todos
.filter(项=>!项.done)
.map(item=>item.todo);
控制台。登录(退出);//[“买苹果”、“写网络应用”、“打电话给妈妈”]