lodash 源码解读 _.nth(array, num)

_.nth(array, num)  函数返回 array index 为 num 的值

var array = ['a', 'b', 'c', 'd'];
 
_.nth(array, 1);
// => 'b'
 
_.nth(array, -2);
// => 'c';

这里有一点很有意思,当 num 为负数的解决方案

function baseNth(array, n) {
      var length = array.length;
      if (!length) {
        return;
      }
      n += n < 0 ? length : 0; // 若 n 为负数的情况,通过加 length来的到正值
      return isIndex(n, length) ? array[n] : undefined;
    }

 

posted on 2017-08-05 15:38  bbb324  阅读(119)  评论(0编辑  收藏  举报

导航