use*_*180 3 javascript if-statement
我想if在javascript中动态创建语句的条件,
检查我的代码
var t = ['b','a']
if(t[0] !== 'a' && t[1] !== 'a'){console.log('remaining element')}
在这里t可能会随时变化t = ['b','a','c']然后我需要写这样的条件
if(t[0] !== 'a' && t[1] !== 'a' && t[2] !== 'a'){console.log('remaining element')}
我怎样才能有效地重写这段代码?
你可以Array.prototype.every像这样使用
if (t.every(function(currentElement) { return currentElement !== "a"; })) {
    console.log('remaining element');
}
这适用于任意数量的元素.
在不支持的旧环境中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');
}