- A+
所属分类:Web前端
drop 函数
drop
函数功能:按顺序删除数组元素,当n
为正数时,从左删除n
个元素;当n
为负数时,从右删除n
个元素.;当n
为0
时,创建一个副本.
drop
返回值:返回一个新的数组.
/** * 创建一个切片数组,去除array前面的n个元素。(n默认值为1。) * * 切片数组 * * @param array 待处理数组 * @param n 删除元素个数 正数第左开始 负数从右开始 * @returns 返回一个新数组 * * drop([1, 3, 4, 5, 6, 7]) * // => [1, 3, 4, 5, 6] * * drop([1, 3, 4, 5, 6, 7],-1) * // => [ 3, 4, 5, 6,7] */ const drop = <T>(array: Array<T>, n = 1): Array<T> => { // 克隆 if (!n) return [...array]; // 边界检查 if (array.length < 1 || array.length <= n) return []; // 切片 return array.slice(n > 0 ? n : 0, n > 0 ? array.length : n); }; export default drop;
例子
import drop from "../src/drop"; const array = [1, 3, 4, 5, 6, 7]; // 从左删除 3个元素 const w = drop(array, 3); console.log(w); //[ 5, 6, 7 ] // 从右删除 3个元素 const w1 = drop(array, -3); console.log(w1); // [ 1, 3, 4 ] // 删除0个 const w2 = drop(array, 0); console.log(w2); // [ 1, 3, 4, 5, 6, 7 ]