| 12345678910111213141516171819202122232425 | define(['./_optimizeCb', './_isArrayLike', './keys'], function (_optimizeCb, _isArrayLike, keys) {  // The cornerstone for collection functions, an `each`  // implementation, aka `forEach`.  // Handles raw objects in addition to array-likes. Treats all  // sparse array-likes as if they were dense.  function each(obj, iteratee, context) {    iteratee = _optimizeCb(iteratee, context);    var i, length;    if (_isArrayLike(obj)) {      for (i = 0, length = obj.length; i < length; i++) {        iteratee(obj[i], i, obj);      }    } else {      var _keys = keys(obj);      for (i = 0, length = _keys.length; i < length; i++) {        iteratee(obj[_keys[i]], _keys[i], obj);      }    }    return obj;  }  return each;});
 |