ECMAScirpt5 中 Array 類中的 filter 方法使用目的是移除全部的 」false「 類型元素 (false, null, undefined, 0, NaN 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.bash
例如:函數
Boolean(0); // false
Boolean(true); // true
Boolean(1); // true
Boolean(""); // false
Boolean("false"); // true. "false"是一個非空字符串
複製代碼
實際上,下面這樣的寫法是一種簡寫模式ui
b = a.filter(Boolean);
複製代碼
它等價於spa
b = a.filter(function (x) { return Boolean(x); });
複製代碼