1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| 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;
|
| });
|
|