该代码包括从一系列数字创建一个数组,以及第三个参数,其中它指示数字的步骤,例如,如果它的步骤为 2,则它从 [1,3,5] 开始代码工作正常,除非我step以负数作为参数传递,例如NumberRange(10,5,-2);这就是错误出现的时候,在代码中它显示了我用于否定步骤的逻辑。
function NumberRange(start, end, step){
var numberList = [];
if(typeof(step) == 'undefined'){
if(start < end){
for(;start <= end; start++){
numberList.push(start);
}
console.log(numberList);
}
else if(start > end){
for(;start >= end;){
numberList.push(start);
start -= 1;
}
console.log(numberList);
}
}
else if(start > end && (Math.sign(step) == -1)){ // This is the logic I created when a negative step is given as an argument.
for(;start >= end; start - step){
numberList.push(start);
}
console.log(numberList);
} …Run Code Online (Sandbox Code Playgroud)