browserstack.browsers.js
function filter() {
  var ret = [];
  var labels = Array.prototype.slice.call(arguments);

  labels.forEach(function(label) {
    browsers.forEach(function(browser) {
      if (label === 'bs_all') {
        ret.push(browser);
      } else if (browser._alias.match(new RegExp(label.slice(2) + '$'))) {
        ret.push(browser);
      }
    });
  });

  return ret;
}
function filter() {
  var ret = [];
  var labels = Array.prototype.slice.call(arguments);

  labels.forEach(function(label) {
    browsers.forEach(function(browser) {
      if (label === 'bs_all') {
        ret.push(browser);
      } else if (browser._alias.match(new RegExp(label.slice(2) + '$'))) {
        ret.push(browser);
      }
    });
  });

  return ret;
}
function filter ( ) { var ret = [ ] ; var labels = Array . prototype . slice . call ( arguments ) ; labels . forEach ( function ( label ) { browsers . forEach ( function ( browser ) { if ( label === 'bs_all' ) { ret . push ( browser ) ; } else if ( browser . _alias . match ( new RegExp ( label . slice ( 2 ) + '$' ) ) ) { ret . push ( browser ) ; } } ) ; } ) ; return ret ; }
Returns an array of Objects that match the requested filters.
If no arguments are provided, an empty array is returned.

E.g.

filter('bs_latest') - Will return the latest browser Objects for each browser.
filter('bs_latest', 'bs_previous') - Will return the latest and previous browser Objects for each browser.
filter('bs_ie_latest', 'bs_oldest') - Will return the latest IE browser and all of the oldest browsers.
filter('bs_all') - Will return the all of the browser Objects.

@returns {Array}
Returns an array of Objects that match the requested filters . If no arguments are provided an empty array is returned .