We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
本文为读 lodash 源码的第二百二十一篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
gitbook也会同步仓库的更新,gitbook地址:pocket-lodash
import baseIsEqual from './.internal/baseIsEqual.js'
《lodash源码分析之baseIsEqual》
function isEqualWith(value, other, customizer) { customizer = typeof customizer === 'function' ? customizer : undefined const result = customizer ? customizer(value, other) : undefined return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result }
isEqualWith 比 eqDeep 传多一个 customizer 函数,如果这个参数没有传,或者传入的不是函数,则和 eqDeep 的效果完全相同。
isEqualWith
eqDeep
customizer
如果有传入 customizer 函数,则会先调用 customizer 函数,如果 customizer 函数返回的结果不是 undefined ,则直接返回 !!result 。
undefined
!!result
如果是 undefined ,则调用 baseIsEqual 来进行比较,并且将 customizer 函数传入 baseIsEqual 。
baseIsEqual
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered:
No branches or pull requests
本文为读 lodash 源码的第二百二十一篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
gitbook也会同步仓库的更新,gitbook地址:pocket-lodash
依赖
《lodash源码分析之baseIsEqual》
源码分析
isEqualWith
比eqDeep
传多一个customizer
函数,如果这个参数没有传,或者传入的不是函数,则和eqDeep
的效果完全相同。如果有传入
customizer
函数,则会先调用customizer
函数,如果customizer
函数返回的结果不是undefined
,则直接返回!!result
。如果是
undefined
,则调用baseIsEqual
来进行比较,并且将customizer
函数传入baseIsEqual
。License
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered: