Мой объект не распознает ключ, который уже был установлен - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть этот фрагмент кода (к сожалению, он не будет работать для вас, если у вас нет учетной записи квалификатора и не перейдете в предварительный опрос и не запустите его в консоли), который продолжает выдавать ошибку (Невозможно установить свойство '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 голосов
/ 29 декабря 2018

Встроенные данные не сохраняют массив по умолчанию, вам, вероятно, потребуется json кодировать данные перед сохранением и json анализировать данные при извлечении.

...