説明の仕方がタイトルとは少し異なります。それらがすべてfalseの場合にのみ関数を実行しようとしている場合、Steveの答えは素晴らしいです. この配列がどこから来たのかにもよりますが、防御的にするために、おそらく次のように展開します。
if (array.indexOf(true) == -1 && array.indexOf(null) == -1) {
functionA();
}
OTOH、それらがすべて同じであるときにいつでも実行したい場合は、より複雑なロジックが必要になります。
その場合、おそらくフラグを設定し、ループ内で更新してから、ループの後で関数呼び出しを行います。前の値を追跡するための変数も必要です。前の値と一致しない値がある場合、それらはすべて同じではないため、フラグを false に設定します。次に、ループの後、フラグを確認し、true の場合は関数を実行します。
このようなもの:
var runFunction = true;
var previousVal = -1;
for (var i = 0; i < array.length; i++){
if(previousVal === -1) {
previousVal = array[i];
}
if(array[i] !== previousVal){
runFunction = false;
break;
}
}
if (runFunction) {
functionA();
} else {
// Do something else
}