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 :(得分:5)
if (!arr[i]) {
基本上是,如果不是arr [i] 。这有效,因为js中的值是truthy或falsy,所以只有falsy值才能通过上限条件(如果不是falsy === true ):
null,undefined,"",0,false