在 Qualtrics-SOS 中实施数学运算

Implementing math operations in Qualtrics- SOS

我是 Qualtrics/JavaScript 的新手...非常感谢对

的帮助
Var block1= [parseInt("${q://QID664/SelectedAnswerRecode/1}"), parseInt("${q://QID664/SelectedAnswerRecode/2}"), parseInt("${q://QID664/SelectedAnswerRecode/3}"), parseInt("${q://QID664/SelectedAnswerRecode/4}"), parseInt("${q://QID664/SelectedAnswerRecode/5}"), parseInt("${q://QID664/SelectedAnswerRecode/6}"), parseInt("${q://QID664/SelectedAnswerRecode/7}"), parseInt("${q://QID664/SelectedAnswerRecode/8}"), parseInt("${q://QID664/SelectedAnswerRecode/9}"), parseInt("${q://QID664/SelectedAnswerRecode/10}")];

`for(i=0;i<block1.length;i++) {
`diff_array[i]= block1[i+1]- block1[i]}`

接下来,我要执行以下操作: - 在数组中查找 num_switch_block1= number of ones in difference array)

-创建 lambda 变量- lambda_multiplier= [.7, .9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3]

是否有更优雅的方法来递增该数组?我应该将其设置为嵌入式数据吗? - 将差异数组乘以 lambda_multiplier

`var mult = multiply(diff_array,lambda_multiplier);`

-然后将这个数组减少到只有非零值 mult.filter (Boolean)

我用对了吗functions/doing这个对吗?

不确定您将如何处理数组 mult,但这里是创建它的代码(未经测试):

    var block1= [parseInt("${q://QID664/SelectedAnswerRecode/1}"),
      parseInt("${q://QID664/SelectedAnswerRecode/2}"),
      parseInt("${q://QID664/SelectedAnswerRecode/3}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/4}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/5}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/6}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/7}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/8}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/9}"), 
      parseInt("${q://QID664/SelectedAnswerRecode/10}")];
    var lambda_multiplier = [.7, .9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3];
    var mult = [];
    for(i=0;i<lambda_multiplier.length;i++) {
     mult[i] = (block1[i+1] - block1[i]) * lambda_multiplier[i];
    }
    mult = mult.filter(Number); //remove 0s from mult