build/rekord.js
function(inputs, delaySort)
  {
    var map = this.map;
    var removed = [];
    var removedIndices = [];

    for (var i = 0; i < inputs.length; i++)
    {
      var key = this.buildKeyFromInput( inputs[ i ] );
      var removing = map.get( key );

      if ( removing )
      {
        removedIndices.push( map.indices[ key ] );
        removed.push( removing );
      }
    }

    removedIndices.sort();

    for (var i = removedIndices.length - 1; i >= 0; i--)
    {
      map.removeAt( removedIndices[ i ] );
    }

    this.trigger( Collection.Events.Removes, [this, removed, removedIndices] );

    if ( !delaySort )
    {
      this.sort();
    }

    return removed;
  }
function(inputs, delaySort)
  {
    var map = this.map;
    var removed = [];
    var removedIndices = [];

    for (var i = 0; i < inputs.length; i++)
    {
      var key = this.buildKeyFromInput( inputs[ i ] );
      var removing = map.get( key );

      if ( removing )
      {
        removedIndices.push( map.indices[ key ] );
        removed.push( removing );
      }
    }

    removedIndices.sort();

    for (var i = removedIndices.length - 1; i >= 0; i--)
    {
      map.removeAt( removedIndices[ i ] );
    }

    this.trigger( Collection.Events.Removes, [this, removed, removedIndices] );

    if ( !delaySort )
    {
      this.sort();
    }

    return removed;
  }
function ( inputs , delaySort ) { var map = this . map ; var removed = [ ] ; var removedIndices = [ ] ; for ( var i = 0 ; i < inputs . length ; i ++ ) { var key = this . buildKeyFromInput ( inputs [ i ] ) ; var removing = map . get ( key ) ; if ( removing ) { removedIndices . push ( map . indices [ key ] ) ; removed . push ( removing ) ; } } removedIndices . sort ( ) ; for ( var i = removedIndices . length - 1 ; i >= 0 ; i -- ) { map . removeAt ( removedIndices [ i ] ) ; } this . trigger ( Collection . Events . Removes , [ this , removed , removedIndices ] ) ; if ( ! delaySort ) { this . sort ( ) ; } return removed ; }
Removes the given models from this collection - sorting the collection if
a comparator is set on this collection and `delaySort` is not specified or
a true value.

@method
@memberof Rekord.ModelCollection#
@param {modelInput[]} inputs -
The models to remove from this collection if they exist.
@param {Boolean} [delaySort=false] -
Whether automatic sorting should be delayed until the user manually
calls {@link Rekord.ModelCollection#sort sort}.
@return {Rekord.Model[]} -
The models removed from this collection.
@emits Rekord.ModelCollection#removes
@emits Rekord.ModelCollection#sort
Removes the given models from this collection - sorting the collection if a comparator is set on this collection and delaySort is not specified or a true value .