2021年1月6日星期三

lodash函数库 -

loadsh函数库中的 chunk 函数采用 typescript 语法重写.

chunk 函数
将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。
如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。

/** * * 将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 * 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。 * * @param array 需要处理的数组 * @param size 每个数组区块的长度 * @returns {Array<Array<T>>} * @example * * chunk(['a', 'b', 'c'], 2) * // => [['a', 'b'], ['c']] * * chunk(['a', 'b', 'c','d'], 2) * // => [['a', 'b'], ['c','d']] */const chunk = <T>(array: Array<T>, size = 1): Array<Array<T>> => {	// 边界检测	// 需要考虑块长度小于1和空数组	const length = array.length;	if (!length || size < 1) return [];	let index = 0; // 处理数组起始位	let resindex = 0; // 新数组起始位	const result = new Array<Array<T>>(Math.ceil(length / size));	while (index < length) {		result[resindex++] = array.slice(index, (index += size)); // size 为步长值	}	return result;};export default chunk;
import chunk from "../src/chunk";const arr = [1, 2, 3, 4, 5, 6];const n = chunk(arr, 3);console.log(n); // [ [ 1, 2, 3 ], [ 4, 5, 6 ] ]const arrs = ["a", "b", "c"];const n1 = chunk(arrs, 2);console.log(n1); // [ [ 'a', 'b' ], [ 'c' ] ]const arre = [] as Array<string>;const n2 = chunk(arre, 2);console.log(n2); // []

个人作品

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









原文转载:http://www.shaoqun.com/a/506073.html

跨境电商:https://www.ikjzd.com/

zappos.com:https://www.ikjzd.com/w/330

鸥鹭:https://www.ikjzd.com/w/2568


loadsh函数库中的chunk函数采用typescript语法重写.chunk函数将数组(array)拆分成多个size长度的区块,并将这些区块组成一个新数组。如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。/****将数组(array)拆分成多个size长度的区块,并将这些区块组成一个新数组。*如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区
三维度:三维度
ideal:ideal
从恒生医院去西冲海滩坐什么车?:从恒生医院去西冲海滩坐什么车?
深圳有什么温泉最好是温泉酒店?:深圳有什么温泉最好是温泉酒店?
亚马逊中小卖家如何高效地做站外引流?:亚马逊中小卖家如何高效地做站外引流?

没有评论:

发表评论