ECMAScirpt5 中 Array 类中的 filter 方法使用目的是移除所有的 ”false“ 类型元素  (falsenullundefined, 0NaN or an empty string)

var a=[1,2,"b",0,{},"",NaN,3,undefined,null,5];
var b=a.filter(Boolean); // [1,2,"b",{},3,5]

Boolean 是一个函数,它会对遍历数组中的元素,并根据元素的真假类型,对应返回 true 或 false.

例如:

Boolean(0); // false
Boolean(true); // true
Boolean(1); // true
Boolean(""); // false
Boolean("false"); // true. "false"是一个非空字符串

实际上,下面这样的写法是一种简写模式

b = a.filter(Boolean);

它等价于

b = a.filter(function (x) { return Boolean(x); });

原文参考:http://www.devign.me/javascript-tip-remove-falsy-items-out-of-an-array

最新文章

  1. Solr Python API : SolrCloudpy 与 Pysolr 的 对比
  2. JS定时器
  3. Android intent传递list或对象
  4. Django的第一个web程序及深入学习
  5. WP8.1 Study5:Data binding数据绑定
  6. Mac环境下装node.js,npm,express;(包括express command not found)
  7. c语言中静态区,栈,堆的理解
  8. POJ3083 Children of the Candy Corn(搜索)
  9. C++结构体中sizeof(1)
  10. android原生browser分析(一)--Application
  11. EF Code First、DbContext
  12. Android不编译某个模块
  13. Java:设计类的继承关系时的技巧
  14. swift之函数式编程(二)
  15. [Upper case conversion ] 每个单词的首小写字母转换为对应的大写字母
  16. 如何用浏览器在线查看.ipynb文件
  17. Kubernetes 笔记 02 demo 初体验
  18. CodeForces 55D "Beautiful numbers"(数位DP+离散化处理)
  19. ASP.NET网页生命周期事件
  20. 二维码Data Matrix的解码实现(zxing-cpp)

热门文章

  1. libevent源码深度剖析三
  2. 线程dump
  3. Yii2验证登录得User类
  4. canvas基础学习笔记
  5. WCF把书读薄(4)——事务编程与可靠会话
  6. HDU 6055 Regular polygon (暴力)
  7. JQuery解决事件动画重复问题
  8. (转)Asp.Net底层原理(三、Asp.Net请求响应过程)
  9. 编写高质量代码改善C#程序的157个建议——建议40:使用event关键字为委托施加保护
  10. maven的pom文件解析及配置