// @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]