使用 Array.from 创建连续自然数数组
条评论 | 0次浏览这段时间着实是忙,整整一个月没有写东西了。今天有个小需求,是要创建一个小于当前小时的自然数数组。想了想可以顺手写一篇充充数。
其实生成一个从 0 开始的包含 n 个连续自然数数组好像没啥难度,一个for
就能解决:
1 | let arr = []; |
但是看上去好像写得挺长的,于是看了下文档,发现 Array.form
的接口也可以实现相同的目的:
1 | Array.from({ length: n }, (item, idx) => idx); |
一行搞定。
思路在于,先通过 Array 生成相对应长度的数组,再通过获取数组下标获取连续的自然数数组。
分析一下,首先 Array.form({ length: n })
创建了一个长度为 n,元素为 undefined 的数组。虽然里面都是 undefined,但是我们需要的是自然数,使用数组下标就能解决,于是使用接口中第二个参数,传入一个 map
方法,就可以获取到数组下标了。
那么获取完一个完整的数组了,接下来获取小于当前小时数的数组就简单了:
1 | let now = new Date(); |
以上。
- 本文链接:https://blog.decay.fun/2019/09/24/learning-javascript-api-array-from/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
分享View this article in English