# Contains
> Test if an array-like value contains a search value.
## Usage
```javascript
var contains = require( '@stdlib/assert/contains' );
```
#### contains( val, searchValue\[, position] )
Tests if `val` contains a search value. When `val` is a `string`, the function checks whether the characters of a search string are found in the input string.
```javascript
var v = contains( 'Hello World', 'World' );
// returns true
```
When `val` is an `array-like` object, but not a `string`, the function checks whether the input value contains an element strictly equal to the specified search value.
```javascript
var arr = [ null, NaN, 2, 'abc', {} ];
var v = contains( arr, NaN ); // NaNs are considered equal
// returns true
v = contains( arr, {} );
// returns false
v = contains( arr, 'ab' );
// returns false
```
Search is case-sensitive.
```javascript
var v = contains( 'Hello World', 'world' );
// returns false
```
To start searching at a specified index, provide a `position` argument.
```javascript
var v = contains( 'Hello World', 'Hello', 6 );
// returns false
v = contains( [ true, NaN, false ], true, 1 );
// returns false
```
If not provided an `array-like` object, the function throws an error.
```javascript
var v = contains( false, 'abc' );
// throws
```
If not provided an integer-valued `position` argument, the function throws an error.
```javascript
var v = contains( 'hello', 'e', 2.5 );
// throws
```
* * *
## Notes
- For `strings`, the function is modeled after [String.prototype.includes][mdn-includes], part of the ECMAScript 6 specification. This function is different from a call to `String.prototype.includes.call` insofar as type-checking is performed for all arguments.
- The function does **not** distinguish between positive and negative zero.
- If `position < 0`, the search is performed for the entire input array or string.
## Examples
```javascript
var contains = require( '@stdlib/assert/contains' );
var bool = contains( 'last man standing', 'stand' );
// returns true
bool = contains( [ 1, 2, 3, 4 ], 2 );
// returns true
bool = contains( 'presidential election', 'president' );
// returns true
bool = contains( [ NaN, 2, 3, 4 ], NaN );
// returns true
bool = contains( 'javaScript', 'js' );
// returns false
bool = contains( 'Hidden Treasures', '' );
// returns true
```
[mdn-includes]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes