【发布时间】:2021-06-25 20:57:31
【问题描述】:
大家好,这是我第一次尝试在这里问任何问题 我正在阅读 eloquent javascript 书,并且在 第 4 章中看到了这个
function range(start, end, step = start < end ? 1 : -1) {
let array = [];
if (step > 0) {
for (let i = start; i <= end; i += step) array.push(i);
} else {
for (let i = start; i >= end; i += step) array.push(i);
}
return array;
}
我不明白为什么这段代码需要这个 | = start < end ? 1 : -1 |因为当我们将其更改为 1 时,什么都不会改变(我是如何破解的)。
function range(start, end, step = 1) {
let array = [];
if (step > 0) {
for (let i = start; i <= end; i += step) array.push(i);
} else {
for (let i = start; i >= end; i += step) array.push(i);
}
return array;
}
已解决:带有 | 的代码1 |当它只有 2 个参数时会出错,所以需要三元运算符
【问题讨论】:
-
如果 start 大于 end 它将中断。步骤代码可以防止这种情况发生。
-
糟糕,我没有破解代码 | 1 |当它只有 2 个参数时,没有不起作用的 ternar 运算符。非常感谢社区和所有回答我问题的人
标签: javascript conditional-operator