阵列未显示在控制台上

时间:2019-07-11 18:39:00

标签: javascript

我不知道为什么这段代码不起作用。

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);

3 个答案:

答案 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?