Cleanup _.first, _.initial, _.last, and _.rest.

This commit is contained in:
John-David Dalton
2014-02-24 22:40:26 -08:00
parent f60cc76f3e
commit 818c6711d8

View File

@@ -1034,6 +1034,7 @@
// ensure `new bound` is an instance of `func`
var thisBinding = baseCreate(func.prototype),
result = func.apply(thisBinding, args || arguments);
return isObject(result) ? result : thisBinding;
}
return func.apply(thisArg, args || arguments);
@@ -2385,11 +2386,11 @@
* // => ['barney', 'fred']
*/
function first(array, callback, thisArg) {
var n = 0,
length = array ? array.length : 0;
if (typeof callback != 'number' && callback != null) {
var index = -1;
var index = -1,
length = array ? array.length : 0,
n = 0;
callback = lodash.createCallback(callback, thisArg, 3);
while (++index < length && callback(array[index], index, array)) {
n++;
@@ -2558,17 +2559,18 @@
* // => ['barney', 'fred']
*/
function initial(array, callback, thisArg) {
var n = 0,
length = array ? array.length : 0;
var length = array ? array.length : 0;
if (typeof callback != 'number' && callback != null) {
var index = length;
var index = length,
n = 0;
callback = lodash.createCallback(callback, thisArg, 3);
while (index-- && callback(array[index], index, array)) {
n++;
}
} else {
n = (callback == null || thisArg) ? 1 : callback || n;
n = (callback == null || thisArg) ? 1 : callback;
}
n = length - n;
return slice(array, 0, n > 0 ? n : 0);
@@ -2683,11 +2685,12 @@
* // => [{ 'name': 'pebbles', 'employer': 'na', 'blocked': true }]
*/
function last(array, callback, thisArg) {
var n = 0,
length = array ? array.length : 0;
var length = array ? array.length : 0;
if (typeof callback != 'number' && callback != null) {
var index = length;
var index = length,
n = 0;
callback = lodash.createCallback(callback, thisArg, 3);
while (index-- && callback(array[index], index, array)) {
n++;
@@ -2937,9 +2940,9 @@
*/
function rest(array, callback, thisArg) {
if (typeof callback != 'number' && callback != null) {
var n = 0,
index = -1,
length = array ? array.length : 0;
var index = -1,
length = array ? array.length : 0,
n = 0;
callback = lodash.createCallback(callback, thisArg, 3);
while (++index < length && callback(array[index], index, array)) {