npm模块之'filled-array以及请教源码中item的用法
1、git地址
https://github.com/sindresorhus/filled-array.git
2、作用
生成指定大小并充满指定元素的数组
3、例子和源码解析
3.1 例子
const filledArray = require('filled-array');
console.log(filledArray('www', 3)) // 输出: ['www', 'www', 'www']
console.log(filledArray('www', -2)) // 输出数组长度非法的异常
console.log(filledArray('www', 0)) // 输出:[]
console.log(filled(i => {return i}, 15)); // 输出:[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ]
3.2 源码及解析
function filled(item, n) {
var ret = new Array(n);
var isFn = typeof item === 'function';
if (!isFn && typeof ret.fill === 'function') { // 如果item不是数组,生成长度为n,且填充item的数组
return ret.fill(item);
}
for (var i = 0; i < n; i++) {
ret[i] = isFn ? item(i, n, ret) : item; // 当item是个函数,那么计算item(i, n, ret).此处不知道item为什么等于函数本身?????只是通过实验才知道是本身
}
return ret;
};