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 baseFlatten from './.internal/baseFlatten.js' import baseUniq from './.internal/baseUniq.js' import isArrayLikeObject from './isArrayLikeObject.js' import last from './last.js'
《lodash源码分析之baseFlatten》 《lodash源码分析之baseUniq》 《lodash源码分析之isArrayLikeObject》 《lodash源码分析之last》
unionWith 的作用跟 union 差不多,但是 unionWith 支持传入比较函数 comparator,和 unionBy 一样,unionWith 也是支持不定参数,comparator 作为最后一个参数传入。
unionWith
union
comparator
unionBy
function unionWith(...arrays) { let comparator = last(arrays) comparator = typeof comparator === 'function' ? comparator : undefined return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator) }
同样,也是用 last 函数将 comparator 取出,然后判断是否为 function,如果不是,则重置为 undefined。
last
function
undefined
然后调用在调用 baseUniq 时将 comparator 传入。
baseUniq
署名-非商业性使用-禁止演绎 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源码分析之baseFlatten》
《lodash源码分析之baseUniq》
《lodash源码分析之isArrayLikeObject》
《lodash源码分析之last》
源码分析
unionWith
的作用跟union
差不多,但是unionWith
支持传入比较函数comparator
,和unionBy
一样,unionWith
也是支持不定参数,comparator
作为最后一个参数传入。同样,也是用
last
函数将comparator
取出,然后判断是否为function
,如果不是,则重置为undefined
。然后调用在调用
baseUniq
时将comparator
传入。License
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered: