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

作用是切割数组,按 num 个数进行切割。

举例:_.dropRight([1,2,3], 5) return [];  _.dropRight([1,2,3,4], 2) return [1,2]

 

function dropRight(array, n, guard) {  //第三个参数可为函数,例如_.map 循环
      var length = array == null ? 0 : array.length;
      if (!length) {
        return [];
      }
      n = (guard || n === undefined) ? 1 : toInteger(n);
      n = length - n;
      return baseSlice(array, 0, n < 0 ? 0 : n); //参数为 (array, start, end)
    }

在 baseSlice 中出现一个知识点>>>,这个意义为二进制数右移,并且向下取整

4>>>1 // 2
5>>>1 //2
6>>>1 //2

>>>0 为所有非数值转换为0, 大于等于0的,取其整数部分

参考 https://www.zhihu.com/question/20693429

posted on 2017-08-05 10:51  bbb324  阅读(102)  评论(0编辑  收藏  举报

导航