diff --git a/test/collections.js b/test/collections.js index 009d2f327..1726629eb 100644 --- a/test/collections.js +++ b/test/collections.js @@ -140,6 +140,8 @@ $(document).ready(function() { ok(!_.any([]), 'the empty set'); ok(!_.any([false, false, false]), 'all false values'); ok(_.any([false, false, true]), 'one true value'); + ok(_.any([null, 0, 'yes', false]), 'a string'); + ok(!_.any([null, 0, '', false]), 'falsy values'); ok(!_.any([1, 11, 29], function(num){ return num % 2 == 0; }), 'all odd numbers'); ok(_.any([1, 10, 29], function(num){ return num % 2 == 0; }), 'an even number'); ok(_.some([false, false, true]), 'aliased as "some"'); diff --git a/underscore.js b/underscore.js index d27970bbe..6ade0c57d 100644 --- a/underscore.js +++ b/underscore.js @@ -194,7 +194,7 @@ if (obj == null) return result; if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); each(obj, function(value, index, list) { - if (result |= iterator.call(context, value, index, list)) return breaker; + if (result = result||iterator.call(context, value, index, list)) return breaker; }); return !!result; };