2017-08-02 5 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

* ARRない場合は、[I] * ... –

+0

'alert(!false); アラート(!null); アラート(!未定義); '... – baao

+0

@per svenssonいいえ意味しません... –

答えて

5
if (!arr[i]) { 

[I]をARRない場合は基本的にを意味します。これは、JSの値がtruthyまたはfalsyのどちらかであるように動作し、(===真をfalsyない場合)これだけfalsy値が上の条件を渡します

null,undefined,"",0,false 
関連する問題