前端之家收集整理的这篇文章主要介绍了lodash函数库 -- chunk,前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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','c','d'],['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,3 ],[ 4,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); // []
以上是前端之家为你收集整理的lodash函数库 -- chunk全部内容,希望文章能够帮你解决lodash函数库 -- chunk所遇到的程序开发问题。
如果觉得前端之家网站内容还不错,欢迎将前端之家网站推荐给前端开发程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。