Returns the first element of a sequence that satisfies a specified condition.

Usage
Return the first value of0
, 1
, 2
like this;
```js
var firstOrUndefined = require('@kingjs/linq.first');
var sequence = require('@kingjs/enumerable.create');
firstOrUndefined.call(sequence(0, 1, 2));
```
result:
```js
0
```
Return the first odd value of 0
, 1
, 2
like this;
```js
var firstOrUndefined = require('@kingjs/linq.first');
var sequence = require('@kingjs/enumerable.create');
var isOdd = function(x) { return x % 2 == 1; }
firstOrUndefined.call(sequence(0, 1, 2), isOdd);
```
result:
```js
1
```
API
```ts declare function first( this: Enumerable, predicate?: (x) => boolean ) ```Interfaces
Enumerable
: See @kingjs/enumerable.define.
Parameters
this
: The sequence of which first element is returned.
predicate
: Optional predicate element must satisfy.
Return Value
First element in the sequence or throw if sequence is empty. If a predicate is provided, then the first element to match the predicate else throw if no element satisfies the predicate.Install
With npm installed, run ``` $ npm install @kingjs/linq.first ```Acknowledgments
LikeEnumerable.First
.aspx).