我正在尝试学习JavaScript,并正在通过此代码。在功能function range(start, end, step = start < end ? 1 : -1)
中,step = start < end ? 1 : -1
代表什么?
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;
}
function sum(array) {
let total = 0;
for (let value of array) {
total += value;
}
return total;
}
console.log(range(1, 10))
// → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
console.log(sum(range(1, 10)));
// → 55
答案 0 :(得分:0)
这意味着:
let step
if(start < end) step=1
else step=-1
答案 1 :(得分:-1)
它称为ternary operator。这基本上意味着如果start < end
的计算结果为true,则将1
分配给步骤否则为-1
此行步骤=开始<结束? 1:-1可以写为
if(start < end){
step=1;
}
else{
step=-1
}