当前位置:   article > 正文

Lodash源码分析-数组_lodash 源码

lodash 源码

lodash简介

  • Array:适用于数组类型,比如填充数据、查找元素、数组分片等操作

  • Collection:适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作

  • Function:适用于函数类型,比如节流、延迟、缓存、设置钩子等操作

  • Lang:普遍适用于各种类型,常用于执行类型判断和类型转换

  • Math:适用于数值类型,常用于执行数学运算

  • Number:适用于生成随机数,比较数值与数值区间的关系

  • Object:适用于对象类型,常用于对象的创建、扩展、类型转换、检索、集合等操作

  • Seq:常用于创建链式调用,提高执行性能(惰性计算)

  • String:适用于字符串类型

 安装依赖

 npm i --save lodash

 按需引入

  1. //方法一
  2. import _get from 'lodash/get'
  3. import _map from 'lodash/map'
  4. //方法二
  5. import {get, map} from 'lodash'

1. _.chunk(array, [size=1])

含义:

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

参数:

  1. array (Array): 需要处理的数组
  2. [size=1] (number): 每个数组区块的长度

例:

  1. _.chunk(['a', 'b', 'c', 'd'], 2);
  2. // => [['a', 'b'], ['c', 'd']]
  3. _.chunk(['a', 'b', 'c', 'd'], 3);
  4. // => [['a', 'b', 'c'], ['d']]

源码:

  1. function chunk(array, size = 1) {
  2. size = Math.max(toInteger(size), 0)
  3. const length = array == null ? 0 : array.length
  4. if (!length || size < 1) {
  5. return []
  6. }
  7. let index = 0
  8. let resIndex = 0
  9. const result = new Array(Math.ceil(length / size))
  10. while (index < length) {
  11. result[resIndex++] = slice(array, index, (index += size))
  12. }
  13. return result
  14. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/748215
推荐阅读
相关标签
  

闽ICP备14008679号