2017-08-02 90 views
2
function bouncer(arr) { 
    // Don't show a false ID to this bouncer. 

    for (var i = 0; i < arr.length; i++) { 
     if (!arr[i]) { 
      arr.splice(i, 1); 
      i = i-1; 
     } 
    } 
    return arr; 

} 

bouncer([7, "ate", "", false, 9]); 

我不明白感嘆號如何在條件中工作。我知道這是用來否定,但我不知道如何。請解釋此功能如何消除負值

+0

*如果不是常用3 [I] * ... –

+0

'alert(!false); alert(!null); alert(!undefined);'... – baao

+0

@per svensson no it means not ... –

回答

5
if (!arr[i]) { 

手段基本上如果不常用3 [I]。這個工程在JS的值要麼truthy或falsy,所以只是falsy值會通過上條件(如果不是falsy ===真):

null,undefined,"",0,false