我在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
然后,找到switchpoint并将其设置为值。
答案 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]
}