提问人:Gaenox L 提问时间:7/2/2021 更新时间:7/2/2021 访问量:393
在 JS 中添加数字数组会变得未定义,因为数组不接受变量来选择值
Adding an array of numbers in JS gets undefined because array doesn't accept variable to pick a value
问:
法典
function Taxes(taxRate, purchases) {
let total = 0;
console.log(purchases);
for (let i = 0; i <= purchases.length; i++) {
total += purchases[i];
}
console.log(total);
return total * (taxRate/100 + 1);
}
console.log(Taxes(18, [15, 34, 66, 45]));
解释
我试图做一个加税器。该程序将给定的数组列表(已购买商品的价格)相加,将它们相加,然后将答案乘以税率。我将其转换为 python 代码,它完美运行。
但是,我遇到了一个错误,在for循环中,总数没有与索引值相加,因此当我尝试记录它时,它会给出一个未定义的错误。我试图用一个数字替换它,它起作用了。但是当我使用变量时,它没有。如何使用变量来选择索引。
旁注
我知道我不必使用 for 循环来汇总数组中的数字,但假设我想这样做
答:
0赞
Mario Varchmin
7/2/2021
#1
你的代码几乎可以正常工作。但是你会得到一个错误,因为 Javascript 数组索引是从零开始的:如果你的数组有元素,你就对以 开头的元素进行寻址。因此,循环中的循环条件必须是 而不是 。4
array[0]
array[3]
for
i < purchases.length
i <= purchases.length
function Taxes(taxRate, purchases) {
let total = 0;
console.log("Purchases:", purchases);
for (let i = 0; i < purchases.length; i++) {
total += purchases[i];
}
console.log("Total: ", total);
return total * (taxRate/100 + 1);
}
console.log("Total incl. tax:", Taxes(18, [15, 34, 66, 45]));
评论
0赞
Gaenox L
7/3/2021
哦,我明白。因为我添加了一个 if equal 元素,所以当我不再变小时,它不会停止循环。感谢您的帮助!我真的在挠头
评论
purchases.length - 1
i <= purchases.length
i < purchases.length