lib/Ext/util/Collection.js
function(fn, scope, start) {
        var me = this,
            keys = me.keys,
            items = me.items,
            i = start || 0,
            ln = items.length;

        for (; i < ln; i++) {
            if (fn.call(scope || me, items[i], keys[i])) {
                return i;
            }
        }

        return -1;
    }
function(fn, scope, start) {
        var me = this,
            keys = me.keys,
            items = me.items,
            i = start || 0,
            ln = items.length;

        for (; i < ln; i++) {
            if (fn.call(scope || me, items[i], keys[i])) {
                return i;
            }
        }

        return -1;
    }
Find the index of the first matching object in this collection by a function. If the function returns `true` it
is considered a match.
@param {Function} fn The function to be called.
@param {Object} fn.o The object.
@param {String} fn.k The key.
@param {Object} scope The scope (`this` reference) in which the function is executed. Defaults to this
MixedCollection.
@param {Number} [start=0] The index to start searching at.
@return {Number} The matched index, or -1 if the item was not found.