我的对象无法识别已设置的密钥

时间:2018-12-22 00:13:35

标签: javascript object qualtrics

我有此代码段(不幸的是,除非您拥有qualtrics帐户并进入预览调查并在控制台中运行它,否则它对您不起作用)不断抛出错误(无法设置未定义的属性“ questions0” )。但是我只是向主对象添加了一个名为ArrayOfBlocks2的对象。有人可以告诉我为什么为什么说ArrayOfBlocks2不确定吗?

Qualtrics.SurveyEngine.setEmbeddedData("ArrayOfBlocks",ArrayOfBlocks)
var ArrayOfBlocks1 = Qualtrics.SurveyEngine.getEmbeddedData("ArrayOfBlocks")
for(i=0;i<Qualtrics.SurveyEngine.getEmbeddedData("ArrayOfBlocks").length;i++){
    for(k=0;k<Qualtrics.SurveyEngine.getEmbeddedData("ArrayOfBlocks")[i].BlockElements.length;k++){
        var ArrayOfBlocks2 = ArrayOfBlocks1[i].ID
        console.log(ArrayOfBlocks2)
        ObjectIDWithQuestions[ArrayOfBlocks2]={}
        Qualtrics.SurveyEngine.setEmbeddedData("OBID",ObjectIDWithQuestions);
        ObjectIDWithQuestions.ArrayOfBlocks2["questions"+ k]=Qualtrics.SurveyEngine.getEmbeddedData("ArrayOfBlocks")[i].BlockElements[k].QuestionID
            Qualtrics.SurveyEngine.setEmbeddedData("ObjectIDWithQuestions",ObjectIDWithQuestions)

    }
}

我希望它不会引发错误,并将“ questions + k”设置为对象键。

1 个答案:

答案 0 :(得分:0)

默认情况下,嵌入数据不会存储数组,您可能需要在存储之前对数据进行json编码,并在获取时json解析数据。