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; }