mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
started passing in 'list' as the third argument to all the iterators in underscore
This commit is contained in:
@@ -66,8 +66,8 @@
|
|||||||
// Reduce builds up a single result from a list of values. Also known as
|
// Reduce builds up a single result from a list of values. Also known as
|
||||||
// inject, or foldl.
|
// inject, or foldl.
|
||||||
_.reduce = function(obj, memo, iterator, context) {
|
_.reduce = function(obj, memo, iterator, context) {
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
memo = iterator.call(context, memo, value, index);
|
memo = iterator.call(context, memo, value, index, list);
|
||||||
});
|
});
|
||||||
return memo;
|
return memo;
|
||||||
};
|
};
|
||||||
@@ -75,8 +75,8 @@
|
|||||||
// Return the first value which passes a truth test.
|
// Return the first value which passes a truth test.
|
||||||
_.detect = function(obj, iterator, context) {
|
_.detect = function(obj, iterator, context) {
|
||||||
var result;
|
var result;
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
if (iterator.call(context, value, index)) {
|
if (iterator.call(context, value, index, list)) {
|
||||||
result = value;
|
result = value;
|
||||||
throw '__break__';
|
throw '__break__';
|
||||||
}
|
}
|
||||||
@@ -89,8 +89,8 @@
|
|||||||
_.select = function(obj, iterator, context) {
|
_.select = function(obj, iterator, context) {
|
||||||
if (obj.filter) return obj.filter(iterator, context);
|
if (obj.filter) return obj.filter(iterator, context);
|
||||||
var results = [];
|
var results = [];
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
iterator.call(context, value, index) && results.push(value);
|
iterator.call(context, value, index, list) && results.push(value);
|
||||||
});
|
});
|
||||||
return results;
|
return results;
|
||||||
};
|
};
|
||||||
@@ -98,8 +98,8 @@
|
|||||||
// Return all the elements for which a truth test fails.
|
// Return all the elements for which a truth test fails.
|
||||||
_.reject = function(obj, iterator, context) {
|
_.reject = function(obj, iterator, context) {
|
||||||
var results = [];
|
var results = [];
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
!iterator.call(context, value, index) && results.push(value);
|
!iterator.call(context, value, index, list) && results.push(value);
|
||||||
});
|
});
|
||||||
return results;
|
return results;
|
||||||
};
|
};
|
||||||
@@ -110,8 +110,8 @@
|
|||||||
iterator = iterator || identity;
|
iterator = iterator || identity;
|
||||||
if (obj.every) return obj.every(iterator, context);
|
if (obj.every) return obj.every(iterator, context);
|
||||||
var result = true;
|
var result = true;
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
if (!(result = result && iterator.call(context, value, index))) throw '__break__';
|
if (!(result = result && iterator.call(context, value, index, list))) throw '__break__';
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
@@ -122,8 +122,8 @@
|
|||||||
iterator = iterator || identity;
|
iterator = iterator || identity;
|
||||||
if (obj.some) return obj.some(iterator, context);
|
if (obj.some) return obj.some(iterator, context);
|
||||||
var result = false;
|
var result = false;
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
if (result = iterator.call(context, value, index)) throw '__break__';
|
if (result = iterator.call(context, value, index, list)) throw '__break__';
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
@@ -160,8 +160,8 @@
|
|||||||
_.max = function(obj, iterator, context) {
|
_.max = function(obj, iterator, context) {
|
||||||
if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
|
if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
|
||||||
var result = {computed : -Infinity};
|
var result = {computed : -Infinity};
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
var computed = iterator ? iterator.call(context, value, index) : value;
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||||
computed >= result.computed && (result = {value : value, computed : computed});
|
computed >= result.computed && (result = {value : value, computed : computed});
|
||||||
});
|
});
|
||||||
return result.value;
|
return result.value;
|
||||||
@@ -171,8 +171,8 @@
|
|||||||
_.min = function(obj, iterator, context) {
|
_.min = function(obj, iterator, context) {
|
||||||
if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
|
if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
|
||||||
var result = {computed : Infinity};
|
var result = {computed : Infinity};
|
||||||
_.each(obj, function(value, index) {
|
_.each(obj, function(value, index, list) {
|
||||||
var computed = iterator ? iterator.call(context, value, index) : value;
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||||
computed < result.computed && (result = {value : value, computed : computed});
|
computed < result.computed && (result = {value : value, computed : computed});
|
||||||
});
|
});
|
||||||
return result.value;
|
return result.value;
|
||||||
@@ -180,10 +180,10 @@
|
|||||||
|
|
||||||
// Sort the object's values by a criteria produced by an iterator.
|
// Sort the object's values by a criteria produced by an iterator.
|
||||||
_.sortBy = function(obj, iterator, context) {
|
_.sortBy = function(obj, iterator, context) {
|
||||||
return _.pluck(_.map(obj, function(value, index) {
|
return _.pluck(_.map(obj, function(value, index, list) {
|
||||||
return {
|
return {
|
||||||
value : value,
|
value : value,
|
||||||
criteria : iterator.call(context, value, index)
|
criteria : iterator.call(context, value, index, list)
|
||||||
};
|
};
|
||||||
}).sort(function(left, right) {
|
}).sort(function(left, right) {
|
||||||
var a = left.criteria, b = right.criteria;
|
var a = left.criteria, b = right.criteria;
|
||||||
|
|||||||
Reference in New Issue
Block a user