我创建了一个简单的计算器
johnRestBill = [124, 48, 268, 180, 42]; //dollar
function tipCal(){
for(var i = 0; i < johnRestBill.length; i++){
if (johnRestBill[i] < 50) {
console.log(johnRestBill[i] * .2);
} else if (johnRestBill[i] >= 50 && johnRestBill[i] <= 200){
console.log(johnRestBill[i] * .15);
} else {
console.log(johnRestBill[i] * .1);
}
}
}
return tipCal();
我得到了johnRestBill数组的每个索引的结果,现在我想用结果创建一个数组。
所以我做了var tips = []
并键入了tips.push(tipCal())
,但是它不起作用,我也不知道为什么...
答案 0 :(得分:1)
要创建tips
,改用.map
更合适,为此,您需要一个return
s计算出的吸头的函数:
const johnRestBill = [124, 48, 268, 180, 42];
function tipCal(bill) {
if (bill < 50) return bill * .2;
else if (bill >= 50 && bill <= 200) return bill * .15;
else return bill * .1;
}
const tips = johnRestBill.map(tipCal);
console.log(tips);
答案 1 :(得分:1)
您可以使用数组映射方法并返回相同的逻辑条件
var johnRestBill = [124, 48, 268, 180, 42]; //dollar
// map returns a new array
let arr = johnRestBill.map(function(item) {
if (item < 50) {
return item * .2;
} else if (item >= 50 && item <= 200) {
return item * .15;
} else {
return item * .1;
}
})
console.log(arr)