range 【序号列表生成函数】
描述
序号列表生成函数 v3.1.3+
# 1.示例
import { range } from 'sf-utils2'
range(0) // []
range(10) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(-5, 5) // [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
range(0, 10, 2) // [0, 2, 4, 6, 8]
1
2
3
4
5
6
2
3
4
5
6
# 2.入参说明
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| start | 起始值 | number | 否 | 0 |
| stop | 结束值 | number | 否 | |
| step | 自增值 | number | 否 | 1 |
# 3.源码
/**
* 序号列表生成函数
* @param {number} start 起始值
* @param {number} stop 结束值
* @param {number} step 自增值
* @return {Array}
* range(0) // []
* range(10) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
* range(-5, 5) // [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
* range(0, 10, 2) // [0, 2, 4, 6, 8]
*/
function range(start, stop, step) {
let index, len
let result = []
let args = arguments
if (args.length < 2) {
stop = args[0]
start = 0
}
index = start >> 0
len = stop >> 0
if (index < stop) {
step = step >> 0 || 1
for (; index < len; index += step) {
result.push(index)
}
}
return result
}
export default range
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
上次更新: 2024/01/08, 21:47:25