Skip to content

Lodash是现代JavaScript工具库,readLodash是学习Lodash源码并对源码进行解析的记录

Notifications You must be signed in to change notification settings

JILL1231/readLodash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lodash源码解析记录

最近工作之余学习了Lodash的源码,准备写成一个专题和大家一起分享分享,若有错误的地方,可以给我Issues,大家一起学习,希望对你有帮助

项目目录说明

  • lodash : 源码master分支

  • MD : 代码解析后闲谈或思考的文章集,以下是具体的代码解析

  • .internal : .internal模块

  • Array : 数组模块

  • Collection : 集合模块

  • Date : 日期模块

  • Function : 函数模块

  • Lang : 数据类型模块

  • Math : 数学表达式模块

  • Number : Number模块

  • Object : Object模块

  • String : String模块

  • Util : 工具类模块

代码解析目录

Array

  • slice.js : 裁剪数组array,从 start 位置开始到end结束,但不包括 end 本身的位置

  • chunk.js : 将数组拆分成多个 size 长度的块,并组成一个新数组。 如果数组无法被分割成全部等长的块,那么最后剩余的元素将组成一个块

  • compact.js : compact函数创建一个移除了所有假值的数组。例如:false、null、 0、""、undefined, 以及NaN 都是 “假值”

  • drop.js : 裁剪数组中的前 N 个数组,返回剩余的部分

  • dropRight.js : 从右边开始裁剪数组中的 N 个数组,返回剩余的部分

  • take.js : 创建一个数组切片,从array数组的起始元素开始提取n个元素

  • takeRight.js : 创建一个数组切片,从array数组的最后一个元素开始提取n个元素

  • baseWhile.js :baseWhile函数是dropWhiledropRightWhiletakeWhiletakeRightWhile这四个函数的基本实现方法

  • dropWhile.js : 裁剪数组,起点从 predicate 返回假值开始。predicate 会传入3个参数:(value, index, array)

  • dropRightWhile.js : 从右边开始裁剪数组,起点从 predicate 返回假值开始。predicate 会传入3个参数:(value, index, array)

  • takeWhile.js : 从数组的开始提取数组,直到 predicate 返回假值。predicate 会传入三个参数:(value, index, array)

  • takeRightWhile.js : 从数组的最右边开始提取数组,直到 predicate 返回假值。predicate 会传入三个参数:(value, index, array)

  • findIndex.js : 该方法类似_.find,区别是该方法返回第一个通过 predicate 判断为真值的元素的索引值(index),而不是元素本身

  • findLastIndex.js : 这个方式类似 _.findIndex, 区别是它是从右到左的迭代集合array中的元素

Lang

  • isNull.js : 检查 value 是否是 null

  • isUndefined.js : 检查 value 是否是 Undefined

  • isObject.js : 检查 value 是否是 Object

  • isObjectLike.js : 检查 value 是否是 类对象。 如果一个值是类对象,那么它不应该是 null,而且 typeof 后的结果是 "object"

  • isLength.js : 检查 value 是否为有效的类数组长度

  • isArrayLike.js : 检查 value 是否是类数组。 如果一个值被认为是类数组,那么它不是一个函数,并且value.length是个整数,大于等于 0,小于或等于 Number.MAX_SAFE_INTEGER

  • isArrayLikeObject.js : 这个方法类似_.isArrayLike。除了它还检查value是否是个对象

About

Lodash是现代JavaScript工具库,readLodash是学习Lodash源码并对源码进行解析的记录

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published