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 ]