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 baseIsEqual from './baseIsEqual.js' import get from '../get.js' import hasIn from '../hasIn.js' import isKey from './isKey.js' import isStrictComparable from './isStrictComparable.js' import matchesStrictComparable...

系列文章
internal

本文为读 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 baseClone from './.internal/baseClone.js' import baseMatches from './.internal/baseMatches.js' ``` [《lodash源码分析之baseClone》](https://github.com/yeyuqiudeng/pocket-lodash/issues/199) [《lodash源码分析之baseMatches》](https://github.com/yeyuqiudeng/pocket-lodash/issues/353) ## 源码分析 `matches` 其实是 `isMatch` 的偏函数,接收 `source` 对应,返回一个函数,返回的函数接收 `object` 对象,用来检测 `source`...

系列文章
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 baseIsMatch from './baseIsMatch.js' import getMatchData from './getMatchData.js' import matchesStrictComparable from './matchesStrictComparable.js' ``` [《lodash源码分析之baseIsMatch》](https://github.com/yeyuqiudeng/pocket-lodash/issues/228) [《lodash源码分析之getMatchData》](https://github.com/yeyuqiudeng/pocket-lodash/issues/227) [《lodash源码分析之matchesStrictComparable》](https://github.com/yeyuqiudeng/pocket-lodash/issues/352) ## 源码分析 `baseMatches` 相当于 `baseIsMatch` 的偏函数。...

系列文章
internal

本文为读 lodash 源码的第三百五十一篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `matchesStrictComparable` 接收属性 `key` 和值 `srcValue` ,返回一个函数,这个函数接收 `object` 作为参数,并且判断 `object` 上对应的属性 `key` 上的值是否和 `srcValue` 严格相等。 源码如下: ```javascript function matchesStrictComparable(key, srcValue) { return (object) =>...

系列文章
internal

本文为读 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 flow from './flow.js' ``` [《lodash源码分析之flow》](https://github.com/yeyuqiudeng/pocket-lodash/issues/350) ## 源码分析 `flowRight` 和 `flow` 的作用类似,只不过 `funcs` 调用的顺序和传入的顺序相反。 源码如下: ```javascript function flowRight(...funcs) { return flow(...funcs.reverse()) }...

系列文章
api

本文为读 lodash 源码的第三百四十九篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `flow` 会接收一系列函数,并且会返回一个函数,当这个函数被调用时,会依照次序调用传入的函数,并且将上一个函数调用后得到的结果作为下一个函数的参数传入。最终返回最后一个函数的结果。 源码如下: ```javascript function flow(...funcs) { const length = funcs.length let index = length while (index--) { if (typeof funcs[index] !== 'function')...

系列文章
api

本文为读 lodash 源码的第三百四十八篇,后续文章会更新到这个仓库中,欢迎 star:[pocket-lodash](https://github.com/yeyuqiudeng/pocket-lodash) gitbook也会同步仓库的更新,gitbook地址:[pocket-lodash](https://www.gitbook.com/book/yeyuqiudeng/pocket-lodash/details) ## 源码分析 `defaultTo` 接收两个参数 `value` 和 `defaultValue` ,如果 `value` 为 `null` 、`NaN` 或者 `undefined` 时,会返回 `defaultValue` ,否则返回 `value` 。 源码如下: ```javascript function defaultTo(value, defaultValue) {...

系列文章
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 baseClone from './.internal/baseClone.js' import baseConforms from './.internal/baseConforms.js' ``` [《lodash源码分析之baseClone》](https://github.com/yeyuqiudeng/pocket-lodash/issues/199) [《lodash源码分析之baseConforms》](https://github.com/yeyuqiudeng/pocket-lodash/issues/347) ## 源码分析 `conforms` 的作用是接收一个 `source` 对象,并返回一个函数,这个函数接收一个对象 `object` ,在调用这个函数的时候,会触发 `source` 上对应属性的断言函数,如果所有断言函数返回的结果都为真值,则得到的结果是 `true`...

系列文章
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 baseConformsTo from './baseConformsTo.js' import keys from '../keys.js' ``` [《lodash源码分析之baseConformsTo》](https://github.com/yeyuqiudeng/pocket-lodash/issues/204) [《lodash源码分析之keys》](https://github.com/yeyuqiudeng/pocket-lodash/issues/131) ## 源码分析 `baseConforms` 其实是 `baseConformsTo` 的偏函数,返回的函数作用和 `baseConformsTo` 一样,但是只接收 `obeject` 一个参数。 源码如下:...

系列文章
internal

本文为读 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' ``` [《lodash源码分析之map》](https://github.com/yeyuqiudeng/pocket-lodash/issues/16) ## 源码分析 `cond` 接收 `pairs` 参数,并创建一个函数返回。 `pairs` 的形式如下 `[[predicate, func]]` , `cond` 会迭代 `pairs` ,并且在迭代的过程中调用 `predicate`...

系列文章
api