下划线忽略可选参数

Underscore ignores optional arguments

我完全不明白为什么下面的下划线函数不能正常工作。

var testArray = [1, 2, 3, 4];
var resultingArray = _.first(testArray, 2);
console.log(resultingArray);

我一直 1 登录到控制台。我已经用 _.initial 尝试过类似的练习,但它似乎又一次忽略了可选的 n 参数。有人知道会发生什么吗?

您确定要使用 underscore.js and not lodash 吗?

lodash 的行为与您描述的方式相同,并且其 _.first() method 除了数组本身之外不接受任何参数。它专门选择第一个元素:

_.first(array)

Gets the first element of array.

要用 lodash 做到这一点,我们会使用 its _.take() method:

_.take(array, [n=1])

Creates a slice of array with n elements taken from the beginning.

var resultingArray = _.take(testArray, 2);
--> [1, 2]