IF语句中的动态条件

use*_*180 3 javascript if-statement

我想if在javascript中动态创建语句的条件,

检查我的代码

var t = ['b','a']
if(t[0] !== 'a' && t[1] !== 'a'){console.log('remaining element')}
Run Code Online (Sandbox Code Playgroud)

在这里t可能会随时变化t = ['b','a','c']然后我需要写这样的条件

if(t[0] !== 'a' && t[1] !== 'a' && t[2] !== 'a'){console.log('remaining element')}
Run Code Online (Sandbox Code Playgroud)

我怎样才能有效地重写这段代码?

the*_*eye 8

你可以Array.prototype.every像这样使用

if (t.every(function(currentElement) { return currentElement !== "a"; })) {
    console.log('remaining element');
}
Run Code Online (Sandbox Code Playgroud)

这适用于任意数量的元素.

在不支持的旧环境中Array.prototype.every,您可以使用plain for循环版本

var flag = true;
for (var i = 0 ; i < t.length; i += 1) {
    if (t[i] === "a") {
        flag = false;
        break;
    }
}

if (flag) {
    console.log('remaining element');
}
Run Code Online (Sandbox Code Playgroud)