IF语句中的动态条件

时间:2014-03-14 13:41:47

标签: javascript if-statement

我想在javascript中动态调整if语句,

检查我的代码

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')}

如何有效地重写此代码?

1 个答案:

答案 0 :(得分:8)

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

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

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

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

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');
}