XRInputSourceArray: forEach() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Methode forEach() von XRInputSourceArray führt den angegebenen Callback einmal für jede Eingabequelle im Array aus, beginnend bei Index 0 und fortschreitend bis zum Ende der Liste.

Syntax

js
forEach(callback)
forEach(callback, thisArg)

Parameter

callback

Eine Funktion, die einmal für jeden Eintrag im Array xrInputSourceArray ausgeführt wird. Der Callback akzeptiert bis zu drei Parameter:

currentValue

Ein XRInputSource Objekt, das den Wert des aktuell im xrInputSourceArray verarbeiteten Elements darstellt.

currentIndex Optional

Ein Ganzzahlwert, der den Index im Array angibt, an dem sich das durch currentValue gegebene Element befindet. Wenn Sie die Indexnummer nicht benötigen, können Sie dies weglassen.

sourceList Optional

Das XRInputSourceArray Objekt, das verarbeitet wird. Wenn Sie diese Information nicht benötigen, können Sie dies weglassen.

thisArg Optional

Der Wert, der als this verwendet wird, während der Callback ausgeführt wird. Beachten Sie, dass Sie thisArg weglassen können, wenn Sie die Pfeilfunktions-Notation (=>) verwenden, um den Callback bereitzustellen, da alle Pfeilfunktionen this lexikalisch binden.

Rückgabewert

Undefined.

Beispiele

Dieses Beispiel-Snippet ruft die Eingabeliste für eine Sitzung ab und versucht, jede unterstützte Art von Eingabegerät zu behandeln.

js
let inputSources = xrSession.inputSources;

inputSources.forEach((input) => {
  if (input.gamepad) {
    checkGamepad(input.gamepad);
  } else if (
    input.targetRayMode === "tracked-pointer" &&
    input.handedness === player.handedness
  ) {
    /* Handle main hand controller */
    handleMainHandInput(input);
  } else {
    /* Handle other inputs */
  }
});

Für jede Eingabe in der Liste leitet der Callback Gamepad-Eingaben an eine checkGamepad() mit dem Gamepad-Objekt der Eingabe, das von ihrer gamepad-Eigenschaft genommen wird, als Eingabe weiter.

Für andere Geräte suchen wir nach tracked-pointer Geräten in der Haupthand des Spielers und leiten diese an eine handleMainHandInput() Methode weiter.

Spezifikationen

No specification found

No specification data found for api.XRInputSourceArray.forEach.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser-Kompatibilität

Siehe auch