【问题标题】:Calculating average for values in 2 variables in an apperio.io database计算 apperio.io 数据库中 2 个变量的平均值
【发布时间】:2014-01-19 04:59:08
【问题描述】:

我对 appery.io 和 javascript 都比较陌生。我的应用程序将查询 dbase,然后计算变量 a 和 b 中的值的平均值 a 和平均值 b。我的脚本正在运行,输出格式正确,但计算的平均值不正确。

你能帮我完成下面的脚本吗?

var val=0;
if(data.length) {

    for (var i=0; i<data.length; i++) {

        val+=+data[i].grade_courtesy;
        val+=+data[i].grade_overall;

    }

    val=val/data.length;

}

Appery("courtesy_grade").text(val);
Appery("overall_grade").text(val);

【问题讨论】:

    标签: javascript average


    【解决方案1】:

    出于礼貌和整体,您需要单独的变量。

    var courtesyVal = 0,
        overallVal = 0,
        i;
    
    if(data.length) {
    
        for (i = 0; i < data.length; i++) {
    
            courtesyVal += data[i].grade_courtesy;
            overallVal += data[i].grade_overall;
    
        }
    
        courtesyVal = courtesyVal / data.length;
        overallVal = overallVal / data.length;
    
    }
    
    Appery("courtesy_grade").text(courtesyVal);
    Appery("overall_grade").text(overallVal);
    

    【讨论】:

    • 您好,输出似乎重复了不正确的平均值。换句话说,每个变量的答案都相同,而且都不正确。代码看起来正确,也许还有其他问题。难倒...
    • 您确定 data[i].grade_courtesy 和 data[i].grade_overall 是您认为的那样吗?
    • 成功了!!!谢谢你。我的两个变量无意中被编码为字符串。还有一件事,关于如何将答案四舍五入到小数点后一位的任何想法。
    • 我更新了我的代码以输出字母等级而不是 gpa。计算平均值的逻辑是有效的,但我的第二个条件没有执行。所以输出说,'variable 1' average = C [true] but 'variable 2' average = 2.4 [false]
    • 如果(礼貌值 >= 4 || 整体值 >= 4){ 礼貌值 = ("A") ||总体值(“A”); } else if (courtesyVal >= 3 ||总体值(“B”); } else if (courtesyVal >= 2 ||总体值(“C”); } else if (courtesyVal >= 1 ||总体值(“D”); } else { 礼貌值 = ("F") ||总体值(“F”); } Appery("courtesy_grade").text(courtesyVal); Appery("overall_grade").text(overallVal);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2020-05-22
    • 1970-01-01
    • 2015-02-23
    相关资源
    最近更新 更多