Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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:

element

Das aktuelle Element, das im Array verarbeitet wird.

index

Der Index des aktuellen Elements, das im Array verarbeitet wird.

array

Das Array, auf dem every() aufgerufen wurde.

thisArg Optional

Ein Wert, der als this beim Ausführen von callbackFn verwendet wird. Siehe iterative Methoden.

Rückgabewert

true, es sei denn, callbackFn gibt einen für ein Array-Element einen falsy Wert 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 über 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 gibt es für ein leeres Array true zurück. (Es ist vakuumwahr, dass alle Elemente der leeren 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 in sparse arrays aufgerufen.

Die every()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-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.

js
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 Untermenge eines anderen Arrays ist

Das folgende Beispiel testet, ob alle Elemente eines Arrays in einem anderen Array vorhanden sind.

js
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 überprüfen, ob das Array streng ansteigend ist.

js
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 lückenhaften Arrays

every() wird sein Prädikat nicht auf leere Plätze ausführen.

js
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 nicht negativen ganzzahligen Schlüssel kleiner als length zu, bis alle zugegriffen wurden oder callbackFn false zurückgibt.

js
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

Browser-Kompatibilität

Siehe auch