making the each fixture a little more like underscore, and avoiding passing assignment into functions from the outside

This commit is contained in:
Jeremy Ashkenas
2009-12-19 00:45:36 -05:00
parent 0b2e7f1e59
commit 9ba1ffde21
4 changed files with 18 additions and 16 deletions

20
test/fixtures/each.js vendored
View File

@@ -3,22 +3,20 @@
var index = 0;
try {
if (obj.forEach) {
return obj.forEach(iterator, context);
}
if (_.isArray(obj) || _.isArguments(obj)) {
obj.forEach(iterator, context);
} else if (_.isArray(obj) || _.isArguments(obj)) {
var a = obj;
var d = [];
for (var b=0, c=a.length; b<c; b++) {
var item = a[b];
var i = b;
d[b] = iterator.call(context, item, i, obj);
iterator.call(context, item, i, obj);
}
} else {
var d = _.keys(obj);
for (var e=0, f=d.length; e<f; e++) {
var key = d[e];
iterator.call(context, obj[key], key, obj);
}
return d;
}
var e = _.keys(obj);
for (var f=0, g=e.length; f<g; f++) {
var key = e[f];
iterator.call(context, obj[key], key, obj);
}
} catch (e) {
if (e !== breaker) {