gpt4 book ai didi

javascript - 范围总和---得到 "undefined"

转载 作者:行者123 更新时间:2023-12-03 02:27:45 28 4
gpt4 key购买 nike

我正在寻找一个范围的总和,但我总是得到“未定义”。我相信有些东西出现在错误的位置,但我不确定它是什么。

第 1 部分:“编写一个范围函数,它接受两个参数(start 和 end),并返回一个包含从 start 到(包括)end 的所有数字的数组:

第 2 部分:“接下来,编写一个 sum 函数,它接受一个数字数组并返回这些数字的总和。运行前面的程序,看看它是否确实返回 55。”

// Part 1
function deRange(start, end, step) {

if (step === null) {
step = 1;

var blank = [];

if (step > 0) {
for (var i = start; i <= end; i += step)
blank.push(i);
} else {
for (var i = start; i >= end; i += step)
blank.push(i);
}
}
return blank;
}

// Part 2
function theSum(blank) {
var total = 0;
for (var i = 0; i < blank.length; i++)
total += blank[i];
return total;
}

console.log(deRange(1, 10));
console.log(deRange(5, 2, -1));
console.log(theSum(deRange(1, 10)));

最佳答案

您放错了大括号。这有效:

function range(start, end, step) {
if (step === null) {
step = 1;
}
var blank = [];
if (step > 0) {
for (var i = start; i <= end; i += step)
blank.push(i);
} else {
for (var i = start; i >= end; i += step)
blank.push(i);
}
return blank;
}
console.log(range(1, 5, null));

请注意,您正在检查 step 是否为 null,因此用户仍然需要显式给出 null 作为参数。如果您想在未提供第三个参数的情况下设置默认值,请使用例如:

step = step || 1;

(这也将 0 视为缺失参数,这很好。)

关于javascript - 范围总和---得到 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48870604/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com