javascript - 解释一下这个函数如何去除负值

标签 javascript arrays loops

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]);

我不明白感叹号在条件句中的作用。我知道它用于否定,但我不明白如何使用。

最佳答案

if (!arr[i]) {

基本上意味着如果不是arr[i]。这是因为 js 中的值要么是真值,要么是假值,因此只有假值才会通过上限条件(if not falsy === true):

null,undefined,"",0,false

关于javascript - 解释一下这个函数如何去除负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458789/

相关文章:

c# - 为什么我不能删除这个 cookie?

javascript - 将鼠标悬停在标签上时显示信息

C 数组算术和指针

arrays - 让 Swift 中的非可变数组

javascript eval(),控制输入和真正的危险

php - 选择不在表中的值

c - C 中的嵌套 for 循环无法按预期工作

scala - play2 制作一个 Enumeratee 将一个 Promise 转换为另一个 Promise

c - 打印空格数

javascript - 从特定隐藏字段获取值