js 假值

在 freecodecamp 上做到一个剔除数组中的 假值 的题目。

然后它列了6个假值:也就是 falsenull0""undefinedNaN

此为背景

我就开始做题, 这要剔除的话, 6个值要每个都循环判断过后挑出来删掉咯。

想法很直白, 但是想想也觉得, 有点扯, 那得写多少个循环啊, 我就否决了。

绞尽脑汁想只用一个循环做出来...

随手搜了一下 “JS 假值”, 然后..


	for(var i = 0; i < arr.length; i++) {
	    if(!arr[i]) {   //  !arr[i] 会将数组值转成 boolean , 然后假值都会是 false 
                  arr.splice(i, 1);    
                  i--;   
            }
        }

在javaScript中,任意值都能转换为boolean值!

能转成true,称之为"真值";
能转成false,称之为"假值";
除了
- Object类型: null;
- Number类型: 0,-0;
- String类型: "";
- Undefined类型: undefined;
- NaN类型: NaN;
- Boolean: false
是"假值"!
其余都是真值!

over

posted @ 2017-04-13 21:30  lcysgsg  阅读(271)  评论(0编辑  收藏  举报