我不知道为什么这段代码不起作用。
var tipCalculator = [1.2,1.15,1.10];
var restaurantBills = [124,48,738,10,300,150];
var finalBills = [];
function calculateBills(){
for (var i = 0 ; i < restaurantBills.length ; i++){
switch(true){
case restaurantBills[i]<50:
finalBills.push(restaurantBills[i]*tipCalculator[0]);
break;
case restaurantBills[i]>50 && restaurantBills[i]<200 :
finalBills.push(restaurantBills[i]*tipCalculator[1]);
break;
case restaurantBills[i]>200:
finalBills.push(restaurantBills[i]*tipCalculator[2]);
break;
default:
break;
};
};
return finalBills;};
console.log(calculateBills);
答案 0 :(得分:2)
计算账单是一个函数,因此必须称为
calculateBills();
那么您的代码应该没问题
答案 1 :(得分:1)
calculateBills是一个函数,因此在调用时需要在其后加上括号。因此,您的最后一行应该是console.log(calculateBills());
没有这些,程序正在寻找变量calculateBills,而不是调用函数
答案 2 :(得分:1)
正如 jonrsharpe 所指出的那样,您从未调用过返回数组的函数。 要使功能执行,您需要调用。
从
更改行['1029393-12333', '1029394-12334', '1029395-12335']
到
{$project: {
'equipaments': {
$reduce: {
input: '$eqp',
initialValue: [],
in: {
$concat: ['$$eqp.number', '-', '$$eqp.card']
}
}
}
}}
用于调试
Chrome和Firefox等浏览器随附有JavaScript调试器。转到开发工具->调试器,您可以在其中设置断点并跟踪代码的执行。
Get Started with Debugging JavaScript in Chrome DevTools
How can I debug my JavaScript code?