Запуск определенных функций в зависимости от последних пробных данных в JavaScriptHtml

Программисты Html
Ответить Пред. темаСлед. тема
Гость
 Запуск определенных функций в зависимости от последних пробных данных в JavaScript

Сообщение Гость »

Справочная информация:
Привет всем, я новичок в JavaScript и пытаюсь провести психологический эксперимент, используя инструменты библиотеки jsPsych (v7.0). Я создал большую часть того, что мне было нужно, но мне очень трудно заставить работать логику ветвления или условную фильтрацию.

В частности, мне нужно, чтобы участники согласились или не согласились на процедуры исследования. Если они не согласны, их необходимо разветвить, чтобы увидеть одно сообщение, а если они согласны, им нужно увидеть другое.

Я создал упрощенную версию для репликации (см. ниже)
Проблема
Изначально я думал, что индексирование значения, полученного в результате события согласия, будет самым простым решением, но я не могу индексировать или ссылаться на данные из предыдущего испытания. Почти каждый раз значение, которое я индексирую, отображается как [object Object], хотя, когда я экспортирую объект данных и смотрю на то, что, как мне кажется, я индексирую, значение «0», которое Я ожидаю увидеть согласие. Приведенный ниже код — моя последняя попытка, в которой я просто пытаюсь сохранить значение из последнего испытания в столбце response, используя var Accepted = jsPsych.data.get().last( 1).select('response') команда. Почему это не работает? Мой сценарий, представленный ниже, никогда не соответствует условному оператору consented == '0' и всегда выводит ветвь под else< /код>.

Я был бы открыт для других решений ветвления, помимо индексации ценности предыдущей пробной версии, если она у кого-то есть.
Эксперимент // Инициируем jsPsych вар jsPsych = initJsPsych(); // Создание пустого массива, который будет служить нашей временной шкалой вар временной шкалы = []; // | - - - - - Согласие - - - - - -| // Предоставление простого события согласия, в котором участники выбирают одну из двух кнопок (значения, соответствующие «0» и «1», слева направо) вар согласие = { тип: jsPsychHtmlButtonResponse, стимул: «Информация о согласии», варианты выбора: ['Я согласен участвовать
в этом исследовании', «Я не согласен участвовать
в этом исследовании»], render_on_canvas: ложь, данные: {задача: «Согласие»}, } // Добавляем событие согласия на временную шкалу timeline.push(согласие); // (Теоретически) сохраняем выходное значение события согласия в переменную с именем 'consented' var согласие = jsPsych.data.get().last(1).select('response') // Я использовал это как средство просмотра выходного значения согласия, чтобы проверить, сработал ли предыдущий аргумент. Это всегда выводит [object Oject], и я не знаю, неправильно ли я индексирую, или я не могу просмотреть значение индекса таким образом, или что-то в такой индексации искажает значение. // вар тест = { // введите: jsPsychHtmlKeyboardResponse, // стимул: согласился, // выбор: [' '], // данные: {задача: 'Инструкция'}, // }; // timeline.push(test); // Если участник согласен... если (согласно == '0'){ // ... затем покажем это сообщение ниже. вар instr_Consented = { тип: jsPsychHtmlKeyboardResponse, стимул: «Вы согласились!», варианты: [' '], данные: {задача: 'Инструкция'}, }; timeline.push(instr_Consented); } // ... но если человек не согласен... еще { // ... вместо этого покажем это сообщение. вар instr_Consented = { тип: jsPsychHtmlKeyboardResponse, стимул: «Вы не соглашались!», варианты: [' '], данные: {задача: 'Инструкция'}, }; timeline.push(instr_Consented); } // Выполнение временной шкалы jsPsych.run(временная шкала);
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Html»