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
XRInputSource
object which is the value of the item from within thexrInputSourceArray
which is currently being processed. -
currentIndex
Optional -
An integer value providing the index into the array at which the element given by
currentValue
is located. If you don't need to know the index number, you can omit this. -
sourceList
Optional -
The
XRInputSourceArray
object which is being processed. If you don't need this information, you may omit this.
-
thisArg
Optional -
The value to be used for
this
while 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 llist, 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 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
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
forEach |
79 |
79 |
No |
No |
No |
No |
No |
79 |
No |
No |
No |
11.2 |
See also
- Inputs and input sources
- The
Array
methodforEach()
XRInputSource
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRInputSourceArray/forEach