如何在JavaScript中完成账单数组的小费计算函数
解决方法:将小费计算函数应用到账单数组
下面提供三种可行的实现方式,都能把每个账单对应的小费存入tips数组:
方法1:使用Array.map()(推荐)
map()方法会遍历数组的每个元素,将元素传入指定函数后,把返回结果组成新数组,直接赋值给tips即可:
function calculateTip(bill) { if (bill >= 50 && bill <= 100) { return bill * 0.15; } else { return bill * 0.20; } } const bills = [125, 555, 44]; const tips = bills.map(calculateTip); // 此时tips数组为 [25, 111, 8.8]
方法2:使用Array.forEach()
遍历bills数组的每个元素,调用calculateTip()计算小费后,手动将结果推入tips数组:
function calculateTip(bill) { if (bill >= 50 && bill <= 100) { return bill * 0.15; } else { return bill * 0.20; } } const bills = [125, 555, 44]; const tips = []; bills.forEach(bill => { tips.push(calculateTip(bill)); });
方法3:传统for循环
如果需要更基础的遍历逻辑,用普通for循环也能实现:
function calculateTip(bill) { if (bill >= 50 && bill <= 100) { return bill * 0.15; } else { return bill * 0.20; } } const bills = [125, 555, 44]; const tips = []; for (let i = 0; i < bills.length; i++) { tips.push(calculateTip(bills[i])); }
内容的提问来源于stack exchange,提问作者user23443506
相关产品推荐
相关产品推荐

