function drop(array, n, guard)
裁剪数组中的前 N 个数组,返回剩余的部分。
@param {Array} array The array to query.
需要处理的数组
@param {number} [n=1] The number of elements to drop.
裁剪的个数
@param- {Object} [guard] Enables use as an iteratee for methods like
_.map
.
允许用作_.map
等方法的迭代对象。
function drop(array, n, guard) {
// 一般使用前两个参数
// 提取数组长度
var length = array == null ? 0 : array.length;
// 如果数组长度显示为0,则表示为空数组或者是非数组对象,返回一个空数组
if (!length) {
return [];
}
// n 作为第二个参数如果没有传递的话是 undefined,那么默认值为 1
// 否则调用 toInteger 将 n 参数整数化
n = (guard || n === undefined) ? 1 : toInteger(n);
// 返回一个使用了 baseSlice 裁剪后的数组
// 传递三个参数:数组,start:(如果n转化后小于0则传递0,否则传递本身),end:length
return baseSlice(array, n < 0 ? 0 : n, length);
}
网友评论