blob: 24ebd9cfc2994ea67fa7bf7ea35ed9c638026dc0 [file] [log] [blame]
"use strict";
var utils = module.exports = {};
/**
* Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value.
* @public
* @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1.
* @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned.
* @returns {*} The value that a callback has returned (if truthy). Otherwise nothing.
*/
utils.forEach = function(collection, callback) {
for(var i = 0; i < collection.length; i++) {
var result = callback(collection[i]);
if(result) {
return result;
}
}
};