是否可以从JavaScript的map()函数返回一个空槽?

问题描述 投票:0回答:1

这个网站有一个类似的问题:Possible to push empty slot to an array?我想知道

Array.prototype.map
回调是否可以返回一个empty slot

我尝试了这个,但它返回了

undefined

console.log([1, 2, 3].map(() => {}));

我想返回空槽,以便我可以简单地在返回值上调用

flat()
来删除它们。
flat()
不会删除
undefined
null
值。

我知道

.filter(Boolean)
技巧,但我不喜欢这个解决方案,因为
0
是错误的,而且我从来没有打算将其作为删除
null
/
undefined
元素的副作用而删除:根据我的经验,
.filter(Boolean)
是代码中的定时炸弹。

javascript
1个回答
0
投票

返回一个空数组:

console.log([1, 2, 3].map(() => []).flat());

© www.soinside.com 2019 - 2024. All rights reserved.