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 durch die bereitgestellte Funktion implementierten Test bestehen. 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. 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:
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 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 iterative 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 leeren Menge eine beliebige Bedingung erfüllen.)
callbackFn
wird nur für Array-Indizes aufgerufen, die zugewiesene Werte haben. Es wird nicht für leere Stellen in lückenhaften Arrays aufgerufen.
Die every()
Methode ist generisch. Sie erwartet nur, dass der this
Wert eine length
Eigenschaft und integer-bezogene Eigenschaften hat.
Beispiele
Prüfung der Größe aller Array-Elemente
Im folgenden Beispiel wird geprü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
Überprüfen, ob ein Array ein Teilmenge eines anderen Arrays ist
Im folgenden Beispiel wird getestet, 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. Im folgenden Beispiel wird zuerst filter()
verwendet, um die positiven Werte zu extrahieren, und dann every()
, um zu prü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
Verwendung von every() auf lückenhaften Arrays
every()
wird sein Prädikat nicht auf leere Stellen anwenden.
console.log([1, , 3].every((x) => x !== undefined)); / true
console.log([2, , 2].every((x) => x === 2)); / true
Aufrufen 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 kleiner als length
zu, bis 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 |