让我们进一步改进史蒂文的小费计算器,这次使用的是循环!
- 创建一个包含所有10个测试账单值的数组 “账单”。
- 为小费和总数创建空数组(‘小费’和’总数’)。
- 使用我们之前写的’calcTip’函数(不需要重复)来计算账单数组中每个账单值的小费和总值(账单+小费)。使用for循环来执行这10项计算!
测试数据:22、295、176、440、37、105、10、1100、86和52。
提示:在循环中调用calcTip,并使用push方法向小费和总数数组中添加数值 😉
- 提示:编写一个函数 “calcAverage”,它以一个名为 "arr "的数组为参数。这个函数计算给定数组中所有数字的平均值。这是一个困难的挑战(我们以前没有做过这个)!如何解决这个问题?下面是如何解决这个问题的:
4.1. 首先,你需要将数组中的所有数值相加。要做加法,首先创建一个从0开始的变量’sum’。然后用for循环在数组中循环。在每个迭代中,将当前值添加到’sum’变量中。这样,在循环结束时,你就把所有的值加在一起了。
4.2. 为了计算平均数,用之前计算的总和除以数组的长度(因为那是元素的数量)。
4.3. 用 "总数 "数组调用该函数
1
const bills = [22,295,176,440,37,105,10,1100,86,52];
2
const tips = [];
const totals = [];
3
const bills = [22, 295, 176, 440, 37, 105, 10, 1100, 86, 52];
const tips = [];
const totals = [];
const calcTip = function (bill) {
return bill >= 50 && bill <= 300 ? bill * 0.15 : bill * 0.2;
};
for (let i = 0; i < bills.length; i++) {
tips.push(calcTip(bills[i]));
totals.push(bills[i] + tips[i]);
}
console.log(tips);
console.log(totals);
4
const arr = [22, 295, 176, 440, 37, 105, 10, 1100, 86, 52]; const calcAgerage = function (arr) { let sum = 0; for (let i = 0; i < arr.length; i++) { sum += arr[i]; } return sum / arr.length; }; console.log(calcAgerage([1,6,7,50,30]));