XRInputSourceArray.forEach()
The XRInputSourceArray
method forEach() executes the specified callback once for
each input source in the array, starting at index 0 and progressing until the end of the
list.
Syntax
xrInputSourceArray.forEach(callback, thisArg);
Parameters
callback-
A function to execute once for each entry in the array
xrInputSourceArray. The callback accepts up to three parameters:currentValue-
A
XRInputSourceobject which is the value of the item from within thexrInputSourceArraywhich is currently being processed. currentIndexOptional-
An integer value providing the index into the array at which the element given by
currentValueis located. If you don't need to know the index number, you can omit this. sourceListOptional-
The
XRInputSourceArrayobject which is being processed. If you don't need this information, you may omit this.
thisArgOptional-
The value to be used for
thiswhile executing the callback. Note that if you use arrow function notation (=>) to provide the callback, you can omitthisArg, since all arrow functions lexically bindthis.
Return value
Undefined.
Examples
This example snippet gets the list of inputs for a session and tries to handle each type of input device it supports using.
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 */
}
}
});
For each input in the list, the callback dispatches gamepad inputs to
a checkGamepad() with the input's Gamepad object, taken from
its gamepad property, as an input
For other devices, we look for tracked-pointer devices in the player's
main hand, dispatching those to a handleMainHandInput() method.
Specifications
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 compatibility
BCD tables only load in the browser
See also
- Inputs and input sources
-
The
ArraymethodforEach() XRInputSource