从头开始强调

时间:2015-08-03 19:55:35

标签: javascript underscore.js

这是一种从头开始写下下划线_.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)

1 个答案:

答案 0 :(得分:4)

来自.slice documentation

  

作为负索引,begin表示从序列末尾开始的偏移量。 slice(-2)提取序列中的最后两个元素。

else传递给row应该会返回n的最后.last个元素。

根据文档,将n传递给array会返回-n的最后.slice个元素。