Hefty

Results 107 issues of Hefty

本文为读 lodash 源码的第三百七十四篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import castPath from './.internal/castPath.js' import isArguments from './isArguments.js' import isIndex from './.internal/isIndex.js' import isLength from './isLength.js' import toKey from './.internal/toKey.js' ``` [《lodash源码分析之castPath》](https://github.com/yeyuqiudeng/pocket-lodash/issues/70)...

系列文章
api

本文为读 lodash 源码的第三百七十三篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import castPath from './.internal/castPath.js' import isArguments from './isArguments.js' import isIndex from './.internal/isIndex.js' import isLength from './isLength.js' import toKey from './.internal/toKey.js' ``` [《lodash源码分析之castPath》](https://github.com/yeyuqiudeng/pocket-lodash/issues/70)...

系列文章
api

本文为读 lodash 源码的第三百七十二篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `someValues` 和 `some` 的作用类似,不过 `some` 遍历的是数组, `someValues` 针对的是对象。 `someValues` 接收一个对象 `object` 和一个断言函数 `predicate` ,如果对象中只要有一个值能通过 `predicate` 的检测,则得到结果 `true` ,如果所有的值都通不过 `predicate` 检测,则得到 `false` 。 源码如下:...

系列文章
api

本文为读 lodash 源码的第三百七十一篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `uniqueId` 用来生成唯一 ID,如果有传入 `prefix` ,则生成的 ID 前面会拼接上 `prefix` 。 源码如下: ```javascript const idCounter = {} function uniqueId(prefix='$lodash$') { if (!idCounter[prefix]) { idCounter[prefix] =...

系列文章
api

本文为读 lodash 源码的第三百七十篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import map from './map.js' import copyArray from './.internal/copyArray.js' import isSymbol from './isSymbol.js' import stringToPath from './.internal/stringToPath.js' import toKey from './.internal/toKey.js' ``` [《lodash源码分析之map》](https://github.com/yeyuqiudeng/pocket-lodash/issues/16)...

系列文章
api

本文为读 lodash 源码的第三百六十九篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `times` 接收两个参数 `n` 和 `iteratee` ,`times` 会调用 `iteratee` `n` 次,`iteratee` 只接收一个参数,就是当前调用的索引 `index`,最终会得到一个由 `iteratee` 返回的结果组成的数组。 源码如下: ```javascript const MAX_SAFE_INTEGER = 9007199254740991 const MAX_ARRAY_LENGTH =...

系列文章
api

本文为读 lodash 源码的第三百六十八篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import createRange from './.internal/createRange.js' ``` [lodash源码分析之createRange](https://github.com/yeyuqiudeng/pocket-lodash/issues/367) ## 源码分析 `rangeRight` 和 `range` 作用类似,不过排序方式相反 。 源码如下: ```javascript const rangeRight = createRange(true) ``` 其实就是调用 `createRange`...

系列文章
api

本文为读 lodash 源码的第三百六十七篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import createRange from './.internal/createRange.js' ``` [lodash源码分析之createRange](https://github.com/yeyuqiudeng/pocket-lodash/issues/367) ## 源码分析 `range` 接收 `start` 和 `end` 及 `step` 参数,会创建一个数组,以 `start` 为开始点,下一个数字为上一个数字加上 `step` ,上限不会超过 `end` 。...

系列文章
api

本文为读 lodash 源码的第三百六十六篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 依赖 ```javascript import baseRange from './baseRange.js' import toFinite from '../toFinite.js' ``` [lodash源码分析之baseRange](https://github.com/yeyuqiudeng/pocket-lodash/issues/366) [lodash源码分析之toFinite](https://github.com/yeyuqiudeng/pocket-lodash/issues/54) ## 源码分析 `createRange` 用来创建一个生成范围数组的函数,接收一个参数 `fromRight` ,如果 `fromRight` 为 `true` ,所创建的函数生成的范围数组从大到小排序。 源码如下:...

系列文章
internal

本文为读 lodash 源码的第三百六十五篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `baseRange` 用来根据 `start` 、 `end` 和 `step` 来创建一个数组,这个数组的所有数字都在 `start` 和 `end` 之间,并且相邻两个之间的差值是 `step` 。 一般情况下,如果 `start` 比 `end` 小,则从小大到排序,否则从大到小排序,如果 `fromRight` 为 `true` ,则排序方式和前面相反。...

系列文章
internal