# Index Modes
> List of ndarray index modes.
## Usage
```javascript
var modes = require( '@stdlib/ndarray/index-modes' );
```
#### modes()
Returns a list of ndarray index modes.
```javascript
var out = modes();
// returns [ 'throw', 'clamp', 'wrap' ]
```
The output `array` contains the following modes:
- `throw`: specifies that a function should throw an error when an index is outside a restricted interval.
- `wrap`: specifies that a function should wrap around an index using modulo arithmetic.
- `clamp`: specifies that a function should set an index less than `0` to `0` (minimum index) and set an index greater than a maximum index value to the maximum possible index.
## Examples
```javascript
var indexOf = require( '@stdlib/utils/index-of' );
var modes = require( '@stdlib/ndarray/index-modes' );
var MODES = modes();
var bool;
function isMode( str ) {
if ( indexOf( MODES, str ) === -1 ) {
return false;
}
return true;
}
bool = isMode( 'throw' );
// returns true
bool = isMode( 'clamp' );
// returns true
bool = isMode( 'wrap' );
// returns true
bool = isMode( 'beep' );
// returns false
```