IF语句中的动态条件

Dynamic condition in IF statement

本文关键字:动态 条件 语句 IF      更新时间:2023-09-26

我想在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')}

如何有效地重写这段代码?

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

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

可用于任意数量的元素。

在不支持Array.prototype.every的旧环境中,您可以使用普通的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');
}