美文网首页
前端学习笔记之 js 中Array.filter(Boolean

前端学习笔记之 js 中Array.filter(Boolean

作者: Moorez | 来源:发表于2019-06-15 08:39 被阅读0次

前言

近日在看 30 seconds of code 里面的 compact 方法发现是这么写的const compact = arr => arr.filter(Boolean);,用来移除所有的 ” falsey“ 类型元素(false, null, 0, "", undefined, NaN), 很好奇写了个Boolean 为什么能够过滤falsey类型元素呢,让我们来探索一下。

我们都知道,Boolean 作为一个函数的时候,能够根据元素的真假类型,对应返回 true 或 false。

Boolean(0); // false
Boolean(true); // true
Boolean(3); // true
Boolean(""); // false
Boolean("false"); // true

Array.filter 接受一个函数,因此 const compact = arr => arr.filter(Boolean); 等价于const compact = arr => arr.filter(item => Boolean(item));

相关文章

网友评论

      本文标题:前端学习笔记之 js 中Array.filter(Boolean

      本文链接:https://www.haomeiwen.com/subject/tbyvfctx.html