Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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.
Dieevery()-Methode vonArray-Instanzen gibtfalse zurück, wenn sie ein Element im Array findet, das die bereitgestellte Testfunktion nicht erfüllt. Andernfalls gibt sietrue zurück.
In diesem Artikel
Probieren Sie es aus
const isBelowThreshold = (currentValue) => currentValue < 40;const array1 = [1, 30, 39, 29, 10, 13];console.log(array1.every(isBelowThreshold));// Expected output: trueSyntax
every(callbackFn)every(callbackFn, thisArg)Parameter
callbackFnEine Funktion, die für jedes Element im Array ausgeführt wird. Sie sollte einentruthy Wert zurückgeben, um anzuzeigen, dass das Element den Test besteht, und einenfalsy Wert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArgOptionalEin Wert, der als
thisbeim Ausführen voncallbackFnverwendet wird. Sieheiterative Methoden.
Rückgabewert
true, es sei denn,callbackFn gibt einen für ein Array-Element einenfalsy Wert zurück, in diesem Fall wird sofortfalse zurückgegeben.
Beschreibung
Dieevery()-Methode ist eineiterative Methode. Sie ruft eine bereitgestelltecallbackFn-Funktion einmal für jedes Element in einem Array auf, biscallbackFn einenfalsy Wert zurückgibt. Wenn ein solches Element gefunden wird, gibtevery() sofortfalse zurück und stoppt die Iteration durch das Array. Andernfalls, wenncallbackFn für alle Elemente einentruthy Wert zurückgibt, gibtevery()true zurück. Lesen Sie den Abschnitt überiterative 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 gibt es für ein leeres Arraytrue zurück. (Es istvakuumwahr, dass alle Elemente derleeren Menge jede gegebene Bedingung erfüllen.)
callbackFn wird nur für Array-Indizes aufgerufen, denen Werte zugewiesen sind. Es wird nicht für leere Plätze insparse arrays aufgerufen.
Dieevery()-Methode istgenerisch. Sie erwartet nur, dass derthis-Wert einelength-Eigenschaft und Integer-bezogene Eigenschaften hat.
Beispiele
>Testen der Größe aller Array-Elemente
Das folgende Beispiel testet, 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); // truePrüfen, ob ein Array eine Untermenge eines anderen Arrays ist
Das folgende Beispiel testet, 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])); // trueconsole.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); // falseVerwenden des dritten Arguments von callbackFn
Dasarray-Argument ist nützlich, wenn Sie auf ein anderes Element im Array zugreifen möchten. Im folgenden Beispiel wird zuerstfilter() verwendet, um die positiven Werte zu extrahieren, und dannevery(), um zu überprüfen, ob das Array streng ansteigend 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); // trueVerwenden von every() auf lückenhaften Arrays
every() wird sein Prädikat nicht auf leere Plätze ausführen.
console.log([1, , 3].every((x) => x !== undefined)); // trueconsole.log([2, , 2].every((x) => x === 2)); // trueAufrufen von every() auf Nicht-Array-Objekten
Dieevery()-Methode liest dielength-Eigenschaft vonthis und greift dann auf jede Eigenschaft mit einem nicht negativen ganzzahligen Schlüssel kleiner alslength zu, bis alle zugegriffen wurden odercallbackFnfalse 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"),); // trueSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.every> |