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

时间:2017-10-01 22:39:33

标签: javascript survey qualtrics

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

答案数组看起来像这样:

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

因此,对于上面的数组,switchpoint位于第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])

});

然后,我需要以两种方式检查阵列,以确保它有效":

  • 检查block1数组中的值是否都等于1或全部等于0
  • 检查是否有超过2个开关点
  • 如果其中任何一个为真,那么此块无效

然后,找到switchpoint并将其设置为值。

1 个答案:

答案 0 :(得分:1)

有几件事。首先,你的数组定义是错误的...只有一组括号而没有'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]
}