build/rekord.js
function(whereProperties, whereValue, whereEquals)
  {
    var where = createWhere( whereProperties, whereValue, whereEquals );

    for (var i = 0; i < this.length; i++)
    {
      var model = this[ i ];

      if ( where( model ) )
      {
        return model;
      }
    }

    return null;
  }
function(whereProperties, whereValue, whereEquals)
  {
    var where = createWhere( whereProperties, whereValue, whereEquals );

    for (var i = 0; i < this.length; i++)
    {
      var model = this[ i ];

      if ( where( model ) )
      {
        return model;
      }
    }

    return null;
  }
function ( whereProperties , whereValue , whereEquals ) { var where = createWhere ( whereProperties , whereValue , whereEquals ) ; for ( var i = 0 ; i < this . length ; i ++ ) { var model = this [ i ] ; if ( where ( model ) ) { return model ; } } return null ; }
Returns the first element where the given expression is true.

```javascript
var c = Rekord.collect([{x: 5}, {y: 6}, {y: 6, age: 8}, {z: 7}]);
c.firstWhere('y', 6); // {x: 6}
c.firstWhere(); // {x: 5}
```

@method
@memberof Rekord.Collection#
@param {whereInput} [whereProperties] -
The expression used to create a function to test the elements in this
collection.
@param {Any} [whereValue] -
When the first argument is a string this argument will be treated as a
value to compare to the value of the named property on the object passed
through the filter function.
@param {equalityCallback} [whereEquals=Rekord.equalsStrict] -
An alternative function can be used to compare to values.
@return {Any} -
The first element in this collection that matches the given expression.
@see Rekord.createWhere
Returns the first element where the given expression is true .