Javascript 关联单词及其翻译-存储选项

Javascript 关联单词及其翻译-存储选项,javascript,jquery,data-structures,Javascript,Jquery,Data Structures,我想以某种关联的方式存储vocab单词及其翻译 我在联想阵列中思考。。。每个对象都是一个单词及其翻译 var holder = []; holder.push({"chinese" : "Nǐ", "english" : "you"}, {"chinese" : "Wo", "english" : "I"}, etc...); 然后显示悬停文本的翻译: $("#npc_dialog_dictionary_chinese span").on("mouseover", function() {

我想以某种关联的方式存储vocab单词及其翻译

我在联想阵列中思考。。。每个对象都是一个单词及其翻译

var holder = [];
holder.push({"chinese" : "Nǐ", "english" : "you"}, {"chinese" : "Wo", "english" : "I"}, etc...);
然后显示悬停文本的翻译:

$("#npc_dialog_dictionary_chinese span").on("mouseover", function() {
    var word = $(this).text();
    $("#currentWord").text(parseHoveredText(word));
}).on("mouseout", function() {
    $("#currentWord").empty();
});
这要求:

function parseHoveredText(word) {
  for (obj in holder) {
    if (word == holder[obj]["ch"]) {
        return holder[obj]["en"];
    }
}
return "";
}
它可以工作:(您可以看到,将鼠标悬停在
Ni
上会显示正确的翻译
you

但我的问题是…

将每个单词的翻译对存储在一个对象中,然后像这样数组是一个不错的选择吗


这只是针对<强> > <强>语言,但我会有几个不同的词需要翻译。

有很多问题要考虑(有多少单词,你打算支持多少种语言,什么存储要求,什么运行时间要求)。


你有没有想过一个字符串哈希表,它可以将你的单词散列成一个存储翻译单词的向量。例如,“Ni”可以散列成一个向量来存储它的英语、西班牙语、意大利语翻译。这种方法也可以很好地扩展。

你有多少个单词?当一个单词不能直接与另一个单词匹配时,你可能会遇到问题,因为它们不能直接翻译。@JonnySooter怎么会这样?对于这个应用程序,我将直接负责匹配每个单词单词到翻译。这与我存储单词和翻译的方式有什么关系?我不是已经在使用“哈希表”了吗通过使用上面的关联数组?你能举例说明你的意思吗?虽然关联数组是一个哈希表,但所有哈希表都不是关联数组。如果不进一步了解特定问题的规范,就很难提出最佳方法,因为你可能很清楚,问题的大小非常重要。