# Yahoo! UI Library

### collection 3.3.0

Yahoo! UI Library > collection > arraylist-filter.js (source view)
Search:
Filters Show Private Show Protected Show Deprecated

    /**
     * Collection utilities beyond what is provided in the YUI core
     * @module collection
     * @submodule arraylist-filter
     */

    /**
     * Adds filter method to ArrayList prototype
     * @class ArrayList~filter
     */
    Y.mix(Y.ArrayList.prototype, {

        /**
         * <p>Create a new ArrayList (or augmenting class instance) from a subset
         * of items as determined by the boolean function passed as the
         * argument.  The original ArrayList is unchanged.</p>
         *
         * <p>The validator signature is <code>validator( item )</code>.</p>
         *
         * @method filter
         * @param { Function } validator Boolean function to determine in or out.
         * @return { ArrayList } New instance based on who passed the validator.
         */
        filter: function(validator) {
            var items = [];

            Y.Array.each(this._items, function(item, i) {
                item = this.item(i);

                if (validator(item)) {
                    items.push(item);
                }
            }, this);

            return new this.constructor(items);
        }

    });

Copyright © 2011 Yahoo! Inc. All rights reserved.