这个网站有一个类似的问题: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)
是代码中的定时炸弹。
返回一个空数组:
console.log([1, 2, 3].map(() => []).flat());