我想在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')}
如何有效地重写此代码?
答案 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');
}