mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-08 02:17:48 +00:00
Issue #202 ... fallback method for sparse arrays.
This commit is contained in:
@@ -26,10 +26,6 @@ $(document).ready(function() {
|
|||||||
_.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; });
|
_.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; });
|
||||||
ok(answer, 'can reference the original collection from inside the iterator');
|
ok(answer, 'can reference the original collection from inside the iterator');
|
||||||
|
|
||||||
answers = [];
|
|
||||||
_.each({range : 1, speed : 2, length : 3}, function(v){ answers.push(v); });
|
|
||||||
ok(answers.join(', '), '1, 2, 3', 'can iterate over objects with numeric length properties');
|
|
||||||
|
|
||||||
answers = 0;
|
answers = 0;
|
||||||
_.each(null, function(){ ++answers; });
|
_.each(null, function(){ ++answers; });
|
||||||
equals(answers, 0, 'handles a null properly');
|
equals(answers, 0, 'handles a null properly');
|
||||||
@@ -185,7 +181,7 @@ $(document).ready(function() {
|
|||||||
people = _.sortBy(people, function(person){ return person.age; });
|
people = _.sortBy(people, function(person){ return person.age; });
|
||||||
equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age');
|
equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('collections: groupBy', function() {
|
test('collections: groupBy', function() {
|
||||||
var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; });
|
var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; });
|
||||||
ok('0' in parity && '1' in parity, 'created a group for each value');
|
ok('0' in parity && '1' in parity, 'created a group for each value');
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
obj.forEach(iterator, context);
|
obj.forEach(iterator, context);
|
||||||
} else if (_.isNumber(obj.length)) {
|
} else if (_.isNumber(obj.length)) {
|
||||||
for (var i = 0, l = obj.length; i < l; i++) {
|
for (var i = 0, l = obj.length; i < l; i++) {
|
||||||
if (iterator.call(context, obj[i], i, obj) === breaker) return;
|
if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (var key in obj) {
|
for (var key in obj) {
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
return a < b ? -1 : a > b ? 1 : 0;
|
return a < b ? -1 : a > b ? 1 : 0;
|
||||||
}), 'value');
|
}), 'value');
|
||||||
};
|
};
|
||||||
|
|
||||||
// Groups the object's values by a criterion produced by an iterator
|
// Groups the object's values by a criterion produced by an iterator
|
||||||
_.groupBy = function(obj, iterator) {
|
_.groupBy = function(obj, iterator) {
|
||||||
var result = {};
|
var result = {};
|
||||||
@@ -512,7 +512,7 @@
|
|||||||
var funcs = slice.call(arguments);
|
var funcs = slice.call(arguments);
|
||||||
return function() {
|
return function() {
|
||||||
var args = slice.call(arguments);
|
var args = slice.call(arguments);
|
||||||
for (var i=funcs.length-1; i >= 0; i--) {
|
for (var i = funcs.length - 1; i >= 0; i--) {
|
||||||
args = [funcs[i].apply(this, args)];
|
args = [funcs[i].apply(this, args)];
|
||||||
}
|
}
|
||||||
return args[0];
|
return args[0];
|
||||||
|
|||||||
Reference in New Issue
Block a user