这是一种从头开始写下下划线_.last()的方法。 _.last返回数组的最后一个元素。传递n将返回数组的最后n个元素。
请帮我理解这段代码。 -n是什么意思作为array.slice的参数?它不应该只是n,因为根据定义,我们将传递数组的最后n个元素?那么为什么-n?
_.last = function(array, n) {
if (n === 0) {
return [];
}
return n === undefined ? array[array.length -1] : array.slice(-n)
答案 0 :(得分:4)
作为负索引,begin表示从序列末尾开始的偏移量。 slice(-2)提取序列中的最后两个元素。
将else
传递给row
应该会返回n
的最后.last
个元素。
根据文档,将n
传递给array
会返回-n
的最后.slice
个元素。