lodash函数库 -- drop函数

drop 函数

drop函数功能:按顺序删除数组元素,当n为正数时,从左删除n个元素;当n为负数时,从右删除n个元素.;当n0时,创建一个副本.
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 <= Math.abs(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 ]
(0)

相关推荐