【发布时间】:2017-08-23 10:13:10
【问题描述】:
我发现了这个有趣的问题,并想与大家分享。 问题是:
[...[0,1,...[-1,0,1].map((x)=> x+1)].filter((x)=>x)),7]
我轻松解决了过滤器的第一部分为[0,1,(-1+1),(0+1),(1+1)] = [0,1,0,1,2]。
我惊讶地发现 7 挂在最后。我认为这是一些错字,但将问题复制到控制台给了我 [1,1,2,7]。我不太明白两件事。
- 为什么 0 被排除在过滤器之外
- 那 7 个人在那儿做什么
【问题讨论】:
-
0 是 Javascript falsy,因此过滤器
(x)=>x将删除它 -
问题是什么?我不明白代码怎么可能是一个问题......
-
您似乎在问“为什么
7返回7?”如果这不是您要问的问题,也许您可以改写它... -
这是我最近看到的最奇怪的问题
标签: javascript arrays ecmascript-6 functional-programming spread-syntax