javascript - 在 Qualtrics 中使用平均函数

标签 javascript function qualtrics

我正在尝试编写一个函数来计算嵌入数据的平均值。我通过管道输入字段,解析它们(它们是带小数的数字,所以我可以使用 parseInt)。然后我需要检查是否有任何值为零,因此我对其进行过滤。然后我想对剩下的数据点进行平均。

Qualtrics.SurveyEngine.addOnload(function()
{

var a = "${e://Fields/a}"
var b = "${e://Fields/b}"
var c = "${e://Fields/c}"

var a= parseFloat(a)
var b= parseFloat(b)
var c= parseFloat(c)

var  all_values;
var all_values= [a, b, c];

function isnonzero(value) {
    return value != 0;
}   

var filter_it;
var filter_it = all_values.filter(isnonzero);

function avg(filter_it){
var sum = 0;
for (var i = 0; i < filter_it.length; i++) {
sum += parseFloat(arr[i])
}
return average= sum / i;
}

Qualtrics.SurveyEngine.setEmbeddedData("total",average);

我认为我的函数不正确,或者我尝试从函数中获取信息的方式不正确。任何帮助都是极好的!

最佳答案

这里有几个问题,首先,定义变量后不需要重新初始化它。其次,你永远不会调用 avg() 函数。第三,不能在 for 循环之外使用 i 的值。您也永远不会在 avg() 函数中定义 arr 。并且您没有在 avg 函数之外定义平均值请尝试以下操作:

Qualtrics.SurveyEngine.addOnload(function()
{
    var a = "${e://Fields/a}"
    var b = "${e://Fields/b}"
    var c = "${e://Fields/c}"

    a= parseFloat(a)
    b= parseFloat(b)
    c= parseFloat(c)
    var all_values= [a, b, c];
    function isnonzero(value) {
        return value != 0;
    }   
    var filter_it;
    filter_it = all_values.filter(isnonzero);
    function avg(filter_it){
        var sum = 0;
        for (var i = 0; i < filter_it.length; i++) {
            sum += parseFloat(filter_it[i])
        }
        return sum / filter_it.length;
    }
    var average = avg(filter_it);
    Qualtrics.SurveyEngine.setEmbeddedData("total",average);

});

关于javascript - 在 Qualtrics 中使用平均函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46678826/

相关文章:

function - 该函数未定义。 (递归)

variables - 如何使用 Javascript 在 qualtrics 中设置嵌入式数据

javascript - 我正在使用 CSS 隐藏单选按钮,但我想使用 Javascript 在一页上显示它们

Javascript 函数在 HTML 页面内工作,但在外部 .js 文件中不起作用

javascript - 从 JavaScript 访问元素的 CSS 样式属性的正确方法是什么?

javascript - 结合悬停和点击功能(jQuery)?

c - 使用不同数量的参数调用和定义函数

javascript - 在 jQuery UI 中克隆可拖动对象时,如何将数据和事件传输到新元素?

javascript - 顺时针(仅)围绕元素旋转

javascript - 在 Qualtrics 中使用运行时数据实时执行简单的数学运算