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, bevor Sie diese produktiv verwenden.

Die Methode forEach() von XRInputSourceArray führt den angegebenen Callback einmal für jede Eingabequelle im Array aus, beginnend bei Index 0 und fortlaufend 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 ganzzahliger Wert, der den Index im Array angibt, an dem sich das durch currentValue angegebene Element befindet. Wenn Sie die Indexnummer nicht benötigen, können Sie dies weglassen.

sourceList Optional

Das XRInputSourceArray-Objekt, das verarbeitet wird. Diese Information können Sie weglassen, wenn Sie sie nicht benötigen.

thisArg Optional

Der Wert, der als this beim Ausführen des Callbacks verwendet wird. Beachten Sie, dass Sie, wenn Sie die Pfeilfunktionen-Notation (=>) verwenden, um den Callback bereitzustellen, thisArg weglassen können, da alle Pfeilfunktionen this lexikalisch binden.

Rückgabewert

Undefiniert.

Beispiele

Dieses Beispiel erhält die Liste der Eingaben für eine Sitzung und versucht, jeden unterstützten Eingabegerätetyp zu handhaben.

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 die Gamepad-Eingaben mittels des Gamepad-Objekts der Eingabe, das aus ihrer gamepad-Eigenschaft entnommen wurde, an eine checkGamepad()-Funktion weiter.

Für andere Geräte suchen wir nach tracked-pointer-Geräten in der Haupt-Hand 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

BCD tables only load in the browser

Siehe auch