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 July 2015.
Die every()
-Methode von Array
-Instanzen prüft, ob alle Elemente im Array den Test bestehen, der von der bereitgestellten Funktion implementiert wurde. Sie gibt einen Boolean-Wert 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. Diese 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:
thisArg
Optional-
Ein Wert, der als
this
verwendet wird, wenncallbackFn
ausgeführt 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 die bereitgestellte Funktion callbackFn
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 hört auf, das Array zu durchsuchen. Andernfalls gibt every()
true
zurück, wenn callbackFn
für alle Elemente einen truthy-Wert zurückgibt. Lesen Sie den Abschnitt zu iterativen Methoden, um weitere Informationen darüber zu erhalten, wie diese Methoden im Allgemeinen funktionieren.
every
funktioniert wie der "für alle"-Quantor in der Mathematik. Insbesondere gibt es bei einem leeren Array true
zurück. (Es ist trivialerweise wahr, dass alle Elemente der leeren Menge eine beliebige Bedingung erfüllen.)
callbackFn
wird nur für Array-Indizes aufgerufen, denen Werte zugewiesen sind. Es wird nicht für leere Felder in sparsamen Arrays aufgerufen.
Die every()
-Methode ist generisch. Sie erwartet lediglich, dass der this
-Wert eine length
-Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt.
Beispiele
Prüfung 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üfung, ob ein Array ein Teilmengen-Array eines anderen 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
Nutzung des dritten Arguments von callbackFn
Das Argument array
ist nützlich, wenn Sie auf ein anderes Element im Array zugreifen möchten. Im folgenden Beispiel wird zuerst filter()
verwendet, um die positiven Werte zu extrahieren, und anschließend every()
, um zu prüfen, ob das Array streng monoton steigend 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
Verwendung von every() auf sparsamen Arrays
every()
wird das Prädikat für leere Felder nicht ausführen.
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 nichtnegativen ganzzahligen Schlüssel zu, der kleiner als length
ist, bis sie alle verarbeitet 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® 2025 Language Specification # sec-array.prototype.every |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
every |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support