Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript平均函数_Javascript_Average - Fatal编程技术网

JavaScript平均函数

JavaScript平均函数,javascript,average,Javascript,Average,我目前在一个由商业教授教授的网络编程课上。当然,他对代码了解不多,只是给我指了指那本书(到处都是意大利面条) 我遇到问题的确切任务在这里的引号中。希望这看起来不会太乱 可用数据 您需要一个名为:qualifier的本地存储值 您需要一个名为:factor的本地存储值 您需要一个名为sales的数组 阵列和本地存储已经存在,所以只需使用它们即可 要返回的内容 返回平均奖金 如何计算平均奖金 数组sales[]中超过限定符的每个金额都将获得奖金。 记住:数组表示您考虑()循环 奖金按销售额乘以系数计

我目前在一个由商业教授教授的网络编程课上。当然,他对代码了解不多,只是给我指了指那本书(到处都是意大利面条)

我遇到问题的确切任务在这里的引号中。希望这看起来不会太乱

可用数据

您需要一个名为:qualifier的本地存储值
您需要一个名为:factor的本地存储值
您需要一个名为sales的数组
阵列和本地存储已经存在,所以只需使用它们即可

要返回的内容

返回平均奖金

如何计算平均奖金

  • 数组sales[]中超过限定符的每个金额都将获得奖金。
    记住:数组表示您考虑()循环
  • 奖金按销售额乘以系数计算
  • 如果销售额大于限定值,则将奖金添加到奖金总额中
  • 将总数除以符合条件的奖金数量,计算平均值。
    记住:返回符合条件的平均奖金;不是奖金总额 我明白,这个网站不是为你们这些家伙简单地为我做作业,我不希望发生这种情况。下面是我所拥有的当前代码。我应该注意,老师让我们将代码提交到大学开发的控制台中。我之所以这样说,是因为在这个赋值中,已经定义了某些本地存储变量以及数组。我一直在尝试使用记事本测试这个函数,并将其保存在HTML文档中,然后使用浏览器进行测试。您会注意到,我下面的代码是为使用浏览器进行测试而编写的,我自己定义了数组和localstorage变量。希望这是有道理的

    这是我的JavaScript

    sales=new[Array]();
    销售额[0]=3;
    销售额[1]=167;
    销售额[2]=191;
    销售额[3]=1;
    销售额[4]=45;
    localStorage.qualifier=5;
    localStorage.factor=2;
    总数=0;
    函数myFunction(){
    for(i=0;ilocalStorage.qualifier){
    奖金=销售额[i]*localStorage.factor;
    总数=总数+奖金;
    };
    平均值=总额/奖金;
    };
    返回平均值;
    };
    myFunction();
    警报(extraPay())
    

    我想写一个函数来计算平均奖金。我尝试从repl.it使用这个基于web的文本编辑器,但收到一个类型错误,表示该对象不是函数。我用谷歌搜索了这个错误,这让我找到了这个网站,并随后创建了一个帐户。非常感谢您抽出时间,如果您能指出我的代码哪里出了问题,或者如果我只是疯了,那将非常有帮助。谢谢抱歉,这篇文章太长了。

    您的错误很可能是因为这一行:

    alert(extraPay());
    
    您正在向不存在的方法发出警报,除非在别处定义了该方法

    此外,使用括号表示法声明数组要快得多:

    var sales = [];
    
    如果要使用对象创建符号,应执行以下操作:

    var sales = new Array();
    
    最后,根据作业和你的代码,我认为你不会得到你想要的。您正在计算总数,并将其除以最后的奖金金额。我认为你需要做的是计算总数,并记录你有多少次奖金。然后将总数除以奖金计数器

    function myFunction() {
         var counter = 0;
         for (i=0;i<sales.length;i++){
             if (sales[i]>localStorage.qualifier) {
                 bonus = sales[i]*localStorage.factor;
                 total = total + bonus; 
                 counter++;                
             };
             avg = total/counter;
         };
         return avg;
    };
    myFunction();
    
    函数myFunction(){
    var计数器=0;
    for(i=0;ilocalStorage.qualifier){
    奖金=销售额[i]*localStorage.factor;
    总数=总数+奖金;
    计数器++;
    };
    平均值=总数/计数器;
    };
    返回平均值;
    };
    myFunction();
    
    您的错误很可能是因为这一行:

    alert(extraPay());
    
    您正在向不存在的方法发出警报,除非在别处定义了该方法

    此外,使用括号表示法声明数组要快得多:

    var sales = [];
    
    如果要使用对象创建符号,应执行以下操作:

    var sales = new Array();
    
    最后,根据作业和你的代码,我认为你不会得到你想要的。您正在计算总数,并将其除以最后的奖金金额。我认为你需要做的是计算总数,并记录你有多少次奖金。然后将总数除以奖金计数器

    function myFunction() {
         var counter = 0;
         for (i=0;i<sales.length;i++){
             if (sales[i]>localStorage.qualifier) {
                 bonus = sales[i]*localStorage.factor;
                 total = total + bonus; 
                 counter++;                
             };
             avg = total/counter;
         };
         return avg;
    };
    myFunction();
    
    函数myFunction(){
    var计数器=0;
    for(i=0;ilocalStorage.qualifier){
    奖金=销售额[i]*localStorage.factor;
    总数=总数+奖金;
    计数器++;
    };
    平均值=总数/计数器;
    };
    返回平均值;
    };
    myFunction();
    
    每个人都指出了代码中的一些语法错误和普遍的怪异之处。我要指出,您错误地阅读了其中一个说明:

    将总数除以符合条件的奖金数量,计算平均值

    现在你正在做这个

    total = total + bonus;
    
    …当您应该除以符合条件的奖金数量时。为此,需要一个名为
    bonusesQualified
    的新变量:

    function calculate(sales) {
      var total = 0, bonusesQualified = 0;
      for (i = 0; i < sales.length; i++) {
        if (sales[i] > qualifier) {
            bonus = sales[i] * factor;
            total = total + bonus;
            bonusesQualified++;
        };
        avg = total / bonusesQualified;
      };
      return avg;
    };
    
    函数计算(销售){
    var total=0,bonusesQualified=0;
    对于(i=0;i限定符){
    奖金=销售额[i]*系数;
    总数=总数+奖金;
    骨质疏松症++;
    };
    平均值=总骨/骨平方;
    };
    返回平均值;
    };
    

    每个人都指出了代码中的一些语法错误和普遍的怪异之处。我要指出,您错误地阅读了其中一个说明:

    将总数除以符合条件的奖金数量,计算平均值

    现在你正在做这个

    total = total + bonus;
    
    …当您应该除以符合条件的奖金数量时。为此,需要一个名为