Javascript 关联对象名称

Javascript 关联对象名称,javascript,arrays,object,Javascript,Arrays,Object,我试图创建一个教人们语言的系统。用户将用目标语言键入给定的句子,然后检查他们是否键入了正确的句子 我想给他们一个当前任务的词库(又名句子) 单词库中的单词应与当前任务相关联。在图像中,绿色框中的单词是第一句的一部分,红色框中的单词是第二句的一部分 为此,我将任务放在一个对象中。键是任务名称,值是句子 var tasks = { "task1" : "Ni Hao. Wo Shi Dan.", "task2" : "Xie Xie. Bu Ke Qi." } 单词库单词存储在一

我试图创建一个教人们语言的系统。用户将用目标语言键入给定的句子,然后检查他们是否键入了正确的句子

我想给他们一个当前任务的词库(又名句子)

单词库中的单词应与当前任务相关联。在图像中,绿色框中的单词是第一句的一部分,红色框中的单词是第二句的一部分

为此,我将任务放在一个对象中。键是任务名称,值是句子

var tasks = {
    "task1" : "Ni Hao. Wo Shi Dan.",
    "task2" : "Xie Xie. Bu Ke Qi."
}
单词库单词存储在一个对象中。。。我试图将每个单词库集与各自的任务名称关联起来。但我也需要使用键作为外语,使用值作为英语。因此,我不能使用
任务名称
作为键。。。因此,我无法通过关键字名称将正确的词库与给定任务关联起来

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'
    }
}
要在用户成功键入第一句话后移动到下一个任务,我已按任务名称将任务名称存储在任务队列中

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("<li><b>" + key + "</b>: " + words[obj][key] + "</li>");
            }
        }
    }
    for (obj in phrases) {
        for (key in phrases[obj]) { 
            $(".wordBank_Hint").append("<li><b>" + key + "</b>: " + phrases[obj][key] + "</li>");
        }
    }
}
那么,我如何通过name关联这些键,以便tasks对象和wordBank对象的键与给定任务匹配呢

抱歉,这让人困惑


谢谢

与使用javascript前端的更健壮的服务器端解决方案相比,您尝试使用javascript来完成这一切有什么原因吗?只是想了解您的需求以便我能提供帮助,我觉得对象存储或本体更适合您的应用程序app@Matt617没有特别的原因。我只是想要一个快速的模型,看看它是否会工作,并得到一个概念。你是说把这些词放进数据库会更好吗?你能解释一下“目标存储”和“本体论”是什么意思吗?我认为这样会更简洁,然后你就可以为单词或它们的元数据编写查询,而不是迭代地搜索对象。本体可能有点多,但mongDB可能会对您有所帮助。。。jeeze即使是一个mysql表也可能会有帮助。我绞尽脑汁想知道如何使用db。我猜一个句子表可以查询一个单词表?然后使用jQuery$.get向用户提供反馈?另外,您知道另一种方法吗?我可以指定给用户的特定句子,而无需为每个句子提供db条目?我宁愿从vocab表中动态地抓取vocab,并根据句子的需要排列它们。这可能会起作用,或者您可以在MongoDB和NodeJS中使用类似的JS对象,并使用JQuery.AJAX跨这些文档进行查询
function playerResponse(input) {
    bank();
    if (input == task()) {  
        i++;
        $("#responseVerify").html("Great job");
        document.getElementById('response').value = '';
    }
    else {
        $("#responseVerify").html("Keep going...");
    }
}