lodash 源码解读 _.fill(array, str)

为数组 array 填充元素。 注意是填充!!!!!

_.fill(array, value, start, end) 参数为目标数组,添加值,起始位置,截止位置

var array = [1, 2, 3];
 
_.fill(array, 'a');
console.log(array);
// => ['a', 'a', 'a']
 
_.fill(Array(3), 2);
// => [2, 2, 2]
 
_.fill([4, 6, 8, 10], '*', 1, 3);
// => [4, '*', '*', 10]
function baseFill(array, value, start, end) { //从代码上看,value 只能为一个字符
      var length = array.length;

      start = toInteger(start);
      if (start < 0) {
        start = -start > length ? 0 : (length + start);
      }
      end = (end === undefined || end > length) ? length : toInteger(end);
      if (end < 0) {
        end += length;
      }
      end = start > end ? 0 : toLength(end); //lodash 规定最大长度为4294967295
      while (start < end) {
        array[start++] = value;
      }
      return array;
    }

 

posted on 2017-08-05 11:00  bbb324  阅读(153)  评论(0编辑  收藏  举报

导航