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 ]

个人作品

ip定位查询浏览器插件
老虎优惠券浏览器插件

posted @ 2021-01-11 21:27  破壳而出的蝌蚪  阅读(481)  评论(0编辑  收藏  举报