【发布时间】:2021-11-15 19:04:42
【问题描述】:
我知道过滤器和地图是如何工作的,但在特定情况下卡住了
如果没有找到匹配项,我看到过滤器返回 0,但是如果没有匹配项,有没有办法将其传递给映射。 例如
const tasks = [
{
'name' : 'Write for Envato Tuts+',
'duration' : 120
},
{
'name' : 'Work out',
'duration' : 60
},
{
'name' : 'Procrastinate on Duolingo',
'duration' : 240
}
];
let difficult_tasks1=tasks.filter(x=>x.duration>=200).map(x=>x? console.log(x):alert("error"));
console.log(difficult_tasks1.length)
按预期打印,即第一个控制台打印对象 x,第二个打印长度 1
我的问题是在没有匹配项时收到错误警报
let difficult_tasks1=tasks.filter(x=>x.duration>=400).map(x=>x? console.log(x):alert("error"));
上面什么也没打印,但我期待一个错误警报。
let difficult_tasks1=tasks.filter(x=>x.duration>=400).map(x=>console.log("a"+x));
即使在上面甚至没有打印任何东西..没有到达地图中的控制台部分
我想要的是,如果没有任何过滤,我仍然想返回一些东西或显示错误
【问题讨论】:
标签: javascript dictionary ecmascript-6 filter