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

前言

近日在看 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));

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容