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

View in English Always switch to English

Iterator.prototype.every()

Baseline 2025
Neu verfügbar

Seit März 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die Methode every() von Iterator-Instanzen ähnelt Array.prototype.every(): Sie gibt false zurück, wenn sie ein Element findet, das die angegebene Prüffunktion nicht erfüllt. Andernfalls gibt sie true zurück, wenn der Iterator erschöpft ist, ohne dass ein solches Element gefunden wurde.

Syntax

js
every(callbackFn)

Parameter

callbackFn

Eine Funktion, die für jedes vom Iterator erzeugte Element ausgeführt wird. Sie sollte einen truthy-Wert zurückgeben, wenn das Element die Prüfung besteht, andernfalls einen falsy-Wert. Die Funktion wird mit den folgenden Argumenten aufgerufen:

element

Das aktuell verarbeitete Element.

index

Der Index des aktuell verarbeiteten Elements.

Rückgabewert

true, wenn callbackFn für jedes Element einen truthy-Wert zurückgibt. Andernfalls false.

Beschreibung

every() durchläuft den Iterator und ruft die Funktion callbackFn einmal für jedes Element auf. Die Methode gibt sofort false zurück, wenn die Callback-Funktion einen falsy-Wert zurückgibt. Andernfalls durchläuft sie den Iterator bis zum Ende und gibt true zurück. Wenn every() false zurückgibt, wird der zugrunde liegende Iterator durch Aufrufen seiner Methode return() geschlossen.

Der Hauptvorteil von Iterator-Hilfsmethoden gegenüber Array-Methoden besteht darin, dass sie Werte erst bei Bedarf erzeugen. Dadurch werden unnötige Berechnungen vermieden, und sie können auch mit unendlichen Iteratoren verwendet werden. Bei unendlichen Iteratoren gibt every() false zurück, sobald der erste falsy-Wert gefunden wird. Wenn callbackFn immer einen truthy-Wert zurückgibt, kehrt die Methode nie zurück.

Ein Aufruf von every() schließt den zugrunde liegenden Iterator immer, auch wenn die Methode vorzeitig zurückkehrt. Der Iterator bleibt nie in einem Zwischenzustand.

Beispiele

every() verwenden

js
function* fibonacci() {
  let current = 1;
  let next = 1;
  while (true) {
    yield current;
    [current, next] = [next, current + next];
  }
}

const isEven = (x) => x % 2 === 0;
console.log(fibonacci().every(isEven)); // false

const isPositive = (x) => x > 0;
console.log(fibonacci().take(10).every(isPositive)); // true
console.log(fibonacci().every(isPositive)); // Never completes

Die Methode schließt den Iterator, nachdem sie einen Wert zurückgegeben hat.

js
const seq = fibonacci();
console.log(seq.every(isEven)); // false
console.log(seq.next()); // { value: undefined, done: true }

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-iterator.prototype.every

Browser-Kompatibilität

Siehe auch