Array.prototype.every()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die every() Methode von Array Instanzen gibt false zurück, wenn sie ein Element im Array findet, das die bereitgestellte Testfunktion nicht erfüllt. Andernfalls gibt sie true zurück.
Probieren Sie es aus
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// Expected output: true
Syntax
every(callbackFn)
every(callbackFn, thisArg)
Parameter
callbackFn-
Eine Funktion, die für jedes Element im Array ausgeführt wird. Sie sollte einen truthy Wert zurückgeben, um anzuzeigen, dass das Element den Test besteht, und einen falsy Wert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArgOptional-
Ein Wert, der als
thisbeim Ausführen voncallbackFnverwendet wird. Siehe iterative Methoden.
Rückgabewert
true, es sei denn, callbackFn gibt einen falsy Wert für ein Array-Element zurück, in diesem Fall wird sofort false zurückgegeben.
Beschreibung
Die every() Methode ist eine iterative Methode. Sie ruft eine bereitgestellte callbackFn Funktion einmal für jedes Element in einem Array auf, bis callbackFn einen falsy Wert zurückgibt. Wenn ein solches Element gefunden wird, gibt every() sofort false zurück und stoppt die Iteration durch das Array. Andernfalls, wenn callbackFn für alle Elemente einen truthy Wert zurückgibt, gibt every() true zurück. Lesen Sie den Abschnitt zu iterativen Methoden für weitere Informationen darüber, wie diese Methoden im Allgemeinen funktionieren.
every wirkt wie der "für alle" Quantor in der Mathematik. Insbesondere für ein leeres Array gibt es true zurück. (Es ist vakuumweise wahr, dass alle Elemente der leeren Menge jede gegebene Bedingung erfüllen.)
callbackFn wird nur für Array-Indizes aufgerufen, die zugewiesene Werte haben. Es wird nicht für leere Slots in sparse arrays aufgerufen.
Die every() Methode ist generisch. Sie erwartet nur, dass der this Wert eine length Eigenschaft und ganzzahlig indizierte Eigenschaften hat.
Beispiele
Testen der Größe aller Array-Elemente
Das folgende Beispiel prüft, ob alle Elemente im Array 10 oder größer sind.
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
Prüfen, ob ein Array eine Teilmenge eines anderen Arrays ist
Das folgende Beispiel prüft, ob alle Elemente eines Arrays in einem anderen Array vorhanden sind.
const isSubset = (array1, array2) =>
array2.every((element) => array1.includes(element));
console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 7, 6])); // true
console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); // false
Verwenden des dritten Arguments von callbackFn
Das array Argument ist nützlich, wenn Sie auf ein anderes Element im Array zugreifen möchten. Das folgende Beispiel verwendet zuerst filter(), um die positiven Werte zu extrahieren, und dann every(), um zu überprüfen, ob das Array streng zunehmend ist.
const numbers = [-2, 4, -8, 16, -32];
const isIncreasing = numbers
.filter((num) => num > 0)
.every((num, idx, arr) => {
// Without the arr argument, there's no way to easily access the
// intermediate array without saving it to a variable.
if (idx === 0) return true;
return num > arr[idx - 1];
});
console.log(isIncreasing); // true
Verwenden von every() auf spärlichen Arrays
every() wird seinen Prädikat nicht auf leere Slots anwenden.
console.log([1, , 3].every((x) => x !== undefined)); // true
console.log([2, , 2].every((x) => x === 2)); // true
Aufruf von every() auf Nicht-Array-Objekten
Die every() Methode liest die length Eigenschaft von this und greift dann auf jede Eigenschaft mit einem nicht negativen Ganzzahlenschlüssel zu, der kleiner als length ist, bis sie alle zugegriffen wurden oder callbackFn false zurückgibt.
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
3: 345, // ignored by every() since length is 3
};
console.log(
Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),
); // true
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-array.prototype.every |