feat: 初始化
This commit is contained in:
36
uni_modules/lime-shared/range/index.ts
Normal file
36
uni_modules/lime-shared/range/index.ts
Normal file
@ -0,0 +1,36 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* 生成一个数字范围的数组
|
||||
* @param start 范围的起始值
|
||||
* @param end 范围的结束值
|
||||
* @param step 步长,默认为 1
|
||||
* @param fromRight 是否从右侧开始生成,默认为 false
|
||||
* @returns 生成的数字范围数组
|
||||
*/
|
||||
export function range(start : number, end : number, step : number = 1, fromRight : boolean = false) : number[] {
|
||||
let index = -1;
|
||||
// 计算范围的长度
|
||||
let length = Math.max(Math.ceil((end - start) / step), 0);
|
||||
// 创建一个长度为 length 的数组
|
||||
// #ifdef APP-ANDROID
|
||||
const result = Array.fromNative(new IntArray(length.toInt()));
|
||||
// #endif
|
||||
// #ifndef APP-ANDROID
|
||||
const result = new Array(length);
|
||||
// #endif
|
||||
|
||||
// 使用循环生成数字范围数组
|
||||
let _start = start
|
||||
while (length-- > 0) {
|
||||
// 根据 fromRight 参数决定从左侧还是右侧开始填充数组
|
||||
result[fromRight ? length : ++index] = _start;
|
||||
_start += step;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
// 示例
|
||||
// console.log(range(0, 5)); // 输出: [0, 1, 2, 3, 4]
|
||||
// console.log(range(1, 10, 2, true)); // 输出: [9, 7, 5, 3, 1]
|
||||
// console.log(range(5, 0, -1)); // 输出: [5, 4, 3, 2, 1]
|
Reference in New Issue
Block a user