Skip to content

Commit ec2f7ca

Browse files
committed
Finished "every" and added/completed "some" for Underbar.
1 parent f52ae8b commit ec2f7ca

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/underbar.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,10 @@ var _ = {};
200200
// Determine whether all of the elements match a truth test.
201201
_.every = function(collection, iterator) {
202202
// TIP: Try re-using reduce() here.
203+
var iterator = iterator || _.identity;
203204
return _.reduce(collection, function(soFar, item) {
204205
if (soFar) {
205-
return iterator(item)===true;
206+
return !!iterator(item);
206207
} else {
207208
return false;
208209
}
@@ -213,6 +214,18 @@ var _ = {};
213214
// provided, provide a default one
214215
_.some = function(collection, iterator) {
215216
// TIP: There's a very clever way to re-use every() here.
217+
var iterator = iterator || _.identity;
218+
// Handle empty sets; there is probably a more elegant way to do this.
219+
if (collection.length) {
220+
return _.reduce(collection, function(soFar, item) {
221+
if (soFar) {
222+
return true;
223+
} else {
224+
return !!iterator(item);
225+
}
226+
}, false);
227+
};
228+
return false;
216229
};
217230

218231

0 commit comments

Comments
 (0)