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 March 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 every() Methode von Iterator Instanzen ist ähnlich wie Array.prototype.every(): Sie gibt false zurück, wenn sie ein Element findet, das die bereitgestellte Testfunktion nicht erfüllt. Andernfalls, wenn der Iterator erschöpft wird, ohne ein solches Element zu finden, gibt sie true zurück.

Syntax

js
every(callbackFn)

Parameter

callbackFn

Eine Funktion, die für jedes vom Iterator produzierte Element 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 verarbeitet wird.

index

Der Index des aktuellen Elements, das verarbeitet wird.

Rückgabewert

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

Beschreibung

every() iteriert den Iterator und ruft die Funktion callbackFn einmal für jedes Element auf. Sie gibt false sofort zurück, wenn die Callback-Funktion einen falsy Wert zurückgibt. Andernfalls iteriert sie bis zum Ende des Iterators und gibt true zurück. Wenn every() false zurückgibt, wird der zugrundeliegende Iterator durch den Aufruf seiner return() Methode geschlossen.

Der Hauptvorteil von Iterator-Helfern gegenüber Array-Methoden ist, dass sie faul sind, das bedeutet, sie erzeugen nur dann den nächsten Wert, wenn er angefordert wird. Dies vermeidet unnötige Berechnungen und erlaubt es ihnen auch, mit unendlichen Iteratoren verwendet zu werden. Bei unendlichen Iteratoren gibt every() false zurück, sobald der erste falsy Wert gefunden wird. Wenn die callbackFn immer einen truthy Wert zurückgibt, gibt die Methode niemals zurück.

Ein Aufruf von every() schließt immer den zugrundeliegenden Iterator, auch wenn die Methode vorzeitig zurückkehrt. Der Iterator wird nie in einem halbwegs abgeschlossenen Zustand gelassen.

Beispiele

Verwendung von every()

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 nach der Rückgabe.

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