Связывание имен объектов

Я пытаюсь создать систему, которая учит людей языку. Пользователь напечатает данное предложение на целевом языке, и он проверит,мы правильно ввели.

Я хочу дать им банк слов для текущей задачи (иначе предложение), которые им дают.

Слова в банке слов должны быть связаны с текущей задачей. На изображении слова, выделенные зеленым цветом, являются частью первого предложения, а красные - частью второго предложения.

Для этого ямы поставили задачи в объект. Ключи - это имена задач, а значения - предложения.

var tasks = {
    "task1" : "Ni Hao. Wo Shi Dan.",
    "task2" : "Xie Xie. Bu Ke Qi."
}

Слова банка слов хранятся в объекте ... ЯЯ пытаюсь связать каждый набор слов с соответствующим именем задачи. Но мне также нужно использовать ключи как иностранный язык, а значения - как английский. Поэтому я не могу использоватьtask name как ключ ... Так что яЯ не могу связать правильный банк слов с заданным именем по ключевому слову.

var words = {
    "task1" :
    {
        'Ni'    : 'you',
        'Wo'    : 'I',
        'Hao'   : 'good',
        'Shi'   : 'am'  
    },
    "task2" :
    {
        'Xie Xie' : 'Thanks',
        'Bu' : 'No',
        'Ke Qi' : 'Manners'
    }
}

var phrases = {
    "task1" :
    {
        'Ni Hao'    : 'Hello',
        'Wo Shi'    : 'I am'    
    },
    "task2" :
    {
        'Xie Xie' : 'Thanks',
        'Bu Ke Qi' : 'You are welcome'
    }
}

Чтобы перейти к следующей задаче, как только пользователь успешно набрал первое предложение, ясохранили имена задач в taskQueue по имени задачи ...

var taskQueue = [];
taskQueue.push("task1", "task2");
var i = 0;

//Match the task name from taskQueue with the correct task
function task() {
    for (key in tasks) {
        return tasks[taskQueue[i]];
    }
}

Моя цель здесь - сопоставить имя текущей задачи в taskQueue с соответствующим ключом вwords объект ... но, как я уже сказал, яЯ уже использую ключи для хранения иностранного языка.

function bank() {
    $(".wordBank_Words").empty();
    $(".wordBank_Hint").empty();
    for (obj in words) {
        for (key in words[obj]) {
            if (words[obj] == taskQueue[i]) {
                $(".wordBank_Words").append("" + key + ": " + words[obj][key] + "");
            }
        }
    }
    for (obj in phrases) {
        for (key in phrases[obj]) { 
            $(".wordBank_Hint").append("" + key + ": " + phrases[obj][key] + "");
        }
    }
}

Здесь, когда пользовательввод соответствует ключу задачизначение s (предложение),i увеличивается, чтобы перейти к следующему предложению:

function playerResponse(input) {
    bank();
    if (input == task()) {  
        i++;
        $("#responseVerify").html("Great job");
        document.getElementById('response').value = '';
    }
    else {
        $("#responseVerify").html("Keep going...");
    }
}

Итак, как я могу связать эти ключиназвание так что объект задач и объект WordBank 'ключи совпадают для данной задачи?

Извините, если это сбивает с толку.

Спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос