Связывание имен объектов
Я пытаюсь создать систему, которая учит людей языку. Пользователь напечатает данное предложение на целевом языке, и он проверит,мы правильно ввели.
Я хочу дать им банк слов для текущей задачи (иначе предложение), которые им дают.
Слова в банке слов должны быть связаны с текущей задачей. На изображении слова, выделенные зеленым цветом, являются частью первого предложения, а красные - частью второго предложения.
Для этого ямы поставили задачи в объект. Ключи - это имена задач, а значения - предложения.
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 'ключи совпадают для данной задачи?
Извините, если это сбивает с толку.
Спасибо!