Qualtrics- 使用 javascript 创建数组然后执行计算

Qualtrics- using javascript to create array then perform calculations

我在 Qualtrics 中进行了一项调查,我需要根据矩阵 table 的答案进行一些计算。我需要找到 "switchpoint."

答案数组将如下所示:

[0 0 0 1 1 1 1 1 1 1]

所以对于上面的数组,切换点在第 3 个和第 4 个元素之间。

我不确定执行此操作的最佳方法是什么,而且我一直在努力弄清楚 - 非常感谢任何指导。

这是我正在尝试做的事情:
我在调查流程中创建了一个嵌入式数据变量来输出选定的答案。

Var block1= [‘${q://QID664/SelectedAnswerRecode/1}’],
‘${q://QID664/SelectedAnswerRecode/2}’],
[‘${q://QID664/SelectedAnswerRecode/3}’],
[‘${q://QID664/SelectedAnswerRecode/4}’],
[‘${q://QID664/SelectedAnswerRecode/5}’],
[‘${q://QID664/SelectedAnswerRecode/6}’],
[‘${q://QID664/SelectedAnswerRecode/7}’],
[‘${q://QID664/SelectedAnswerRecode/8}’],
[‘${q://QID664/SelectedAnswerRecode/9}’],
[‘${q://QID664/SelectedAnswerRecode/10}’];

然后,解析

integers- var block1= parseInt([block1])

});

然后,我需要通过两种方式检查数组以确保它是 "valid":

然后,找到切换点并将其设置为一个值。

几件事。首先,你的数组定义是错误的……只有一组括号,没有 'smartquotes'。其次,parseInt 仅对单个字符串进行操作。应该是:

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}")];

现在 block1 是一个整数数组。您可以使用 for 语句遍历它:

for(i=0;i<block1.length;i++) {
  //Do something with block1[i]
}