Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Iterator
  6. find()

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

View in EnglishAlways switch to English

Iterator.prototype.find()

Baseline 2025
Newly available

Since ⁨March 2025⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Diefind()-Methode vonIterator-Instanzen ähneltArray.prototype.find(): Sie gibt das erste vom Iterator erzeugte Element zurück, das die bereitgestellte Testfunktion erfüllt. Wenn keine Werte die Testfunktion erfüllen, wirdundefined zurückgegeben.

Syntax

js
find(callbackFn)

Parameter

callbackFn

Eine Funktion, die für jedes vom Iterator erzeugte Element ausgeführt wird. Sie sollte einentruthy Wert zurückgeben, um anzuzeigen, dass ein passendes Element gefunden wurde, und einenfalsy Wert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:

element

Das aktuell verarbeitete Element.

index

Der Index des aktuell verarbeiteten Elements.

Rückgabewert

Das erste vom Iterator erzeugte Element, das die angegebene Testfunktion erfüllt. Andernfalls wirdundefined zurückgegeben.

Beschreibung

find() iteriert über den Iterator und ruft diecallbackFn-Funktion einmal für jedes Element auf. Es gibt das Element sofort zurück, wenn die Callback-Funktion einen truthy Wert liefert. Andernfalls iteriert es bis zum Ende des Iterators und gibtundefined zurück. Wennfind() ein Element zurückgibt, wird der zugrunde liegende Iterator durch Aufrufen seinerreturn()-Methode geschlossen.

Der Hauptvorteil von Iterator-Hilfsfunktionen gegenüber Array-Methoden besteht darin, dass sie lazy sind, was bedeutet, dass sie nur dann den nächsten Wert erzeugen, wenn er angefordert wird. Dies vermeidet unnötige Berechnungen und ermöglicht auch deren Verwendung mit unendlichen Iteratoren. Bei unendlichen Iteratoren gibtfind() das erste passende Element zurück, sobald es gefunden wird. Wenn diecallbackFn immer einen falsy Wert zurückgibt, gibt die Methode nie etwas zurück.

Beispiele

Verwendung von find()

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().find(isEven)); // 2const isNegative = (x) => x < 0;console.log(fibonacci().take(10).find(isNegative)); // undefinedconsole.log(fibonacci().find(isNegative)); // Never completes

Der Aufruf vonfind() schließt immer den zugrunde liegenden Iterator, auch wenn die Methode frühzeitig zurückkehrt. Der Iterator wird nie in einem halbfertigen Zustand belassen.

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

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-iterator.prototype.find

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp