mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-14 20:57:49 +00:00
Add init(), tail() and reverse() Array functions. Alias first() to head();
This commit is contained in:
@@ -58,4 +58,19 @@ $(document).ready(function() {
|
||||
equals(_.lastIndexOf(numbers, 0), 8, 'lastIndexOf the other element');
|
||||
});
|
||||
|
||||
test("arrays: tail", function() {
|
||||
var numbers = [1, 2, 3, 4];
|
||||
equals(_.tail(numbers).join(", "), "2, 3, 4");
|
||||
});
|
||||
|
||||
test("arrays: init", function() {
|
||||
var numbers = [1, 2, 3, 4];
|
||||
equals(_.init(numbers).join(", "), "1, 2, 3");
|
||||
});
|
||||
|
||||
test("arrays: reverse", function() {
|
||||
var numbers = [1, 2, 4, 6];
|
||||
equals(_.reverse(numbers).join(", "), "6, 4, 2, 1");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -306,6 +306,29 @@
|
||||
return -1;
|
||||
};
|
||||
|
||||
// Returns everything but the first entry of the array. Conceptually the
|
||||
// same as calling shift(), but doesn't mutate the array passed in.
|
||||
_.tail = function(array) {
|
||||
var tail = _.clone(array);
|
||||
tail.shift();
|
||||
return tail;
|
||||
};
|
||||
|
||||
// Returns everything but the last entry of the array. Conceptually the
|
||||
// same as calling pop(), but doesn't mutate the array passed in.
|
||||
_.init = function(array) {
|
||||
var init = _.clone(array);
|
||||
init.pop();
|
||||
return init;
|
||||
};
|
||||
|
||||
// Returns a new array, with the entries or the passed-in array in reverse
|
||||
// order.
|
||||
_.reverse = function(array) {
|
||||
var reverse = _.clone(array);
|
||||
return reverse.reverse();
|
||||
};
|
||||
|
||||
/* ----------------------- Function Functions: -----------------------------*/
|
||||
|
||||
// Create a function bound to a given object (assigning 'this', and arguments,
|
||||
@@ -501,6 +524,7 @@
|
||||
|
||||
/*------------------------------- Aliases ----------------------------------*/
|
||||
|
||||
_.head = _.first;
|
||||
_.forEach = _.each;
|
||||
_.foldl = _.inject = _.reduce;
|
||||
_.foldr = _.reduceRight;
|
||||
|
||||
Reference in New Issue
Block a user