You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
/*
|
|
YUI 3.17.2 (build 9c3c78e)
|
|
Copyright 2014 Yahoo! Inc. All rights reserved.
|
|
Licensed under the BSD License.
|
|
http://yuilibrary.com/license/
|
|
*/
|
|
|
|
YUI.add('array-invoke', function (Y, NAME) {
|
|
|
|
/**
|
|
@module collection
|
|
@submodule array-invoke
|
|
*/
|
|
|
|
/**
|
|
Executes a named method on each item in an array of objects. Items in the array
|
|
that do not have a function by that name will be skipped.
|
|
|
|
@example
|
|
|
|
Y.Array.invoke(arrayOfDrags, 'plug', Y.Plugin.DDProxy);
|
|
|
|
@method invoke
|
|
@param {Array} items Array of objects supporting the named method.
|
|
@param {String} name the name of the method to execute on each item.
|
|
@param {Any} [args*] Any number of additional args are passed as parameters to
|
|
the execution of the named method.
|
|
@return {Array} All return values, indexed according to the item index.
|
|
@static
|
|
@for Array
|
|
**/
|
|
Y.Array.invoke = function(items, name) {
|
|
var args = Y.Array(arguments, 2, true),
|
|
isFunction = Y.Lang.isFunction,
|
|
ret = [];
|
|
|
|
Y.Array.each(Y.Array(items), function(item, i) {
|
|
if (item && isFunction(item[name])) {
|
|
ret[i] = item[name].apply(item, args);
|
|
}
|
|
});
|
|
|
|
return ret;
|
|
};
|
|
|
|
|
|
}, '3.17.2', {"requires": ["yui-base"]});
|
|
|