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 slice from './slice.js'
《读lodash源码之从slice看稀疏数组与密集数组》
take 的作用是,从指定的数组 array 中,从开始位置,取出 n 个元素,组成新的数组作为结果返回。如果没有指定 n ,n 默认为 1 。
take
array
n
1
源码如下:
function take(array, n=1) { if (!(array != null && array.length)) { return [] } return slice(array, 0, n < 0 ? 0 : n) }
惯例,如果数组没有传入,或者传入的数组长度为 0 ,直接返回空数组。
0
take 的实现也很简单,调用 slice(array, 0, n) 即可。
slice(array, 0, n)
其实 slice 支持负数的,但是 take 中 n 的含义是元素的个数,不可能为负数,因为判断 n < 0 时,传给 slice 的第三个参数为 0 ,这时返回的是空数组。
slice
n < 0
署名-非商业性使用-禁止演绎 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源码之从slice看稀疏数组与密集数组》
源码分析
take
的作用是,从指定的数组array
中,从开始位置,取出n
个元素,组成新的数组作为结果返回。如果没有指定n
,n
默认为1
。源码如下:
惯例,如果数组没有传入,或者传入的数组长度为
0
,直接返回空数组。take
的实现也很简单,调用slice(array, 0, n)
即可。其实
slice
支持负数的,但是take
中n
的含义是元素的个数,不可能为负数,因为判断n < 0
时,传给slice
的第三个参数为0
,这时返回的是空数组。License
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面
The text was updated successfully, but these errors were encountered: