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

时间:2013-08-29 21:01:12

标签: javascript jquery data-structures

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

我在一个关联数组中思考......每个对象都是一个单词及其翻译。

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

enter image description here

但我的问题是......

是否将每个单词的翻译对存储在一个对象中,然后像这样一个很好的选择?

仅适用于 ONE 语言,但我会有几个不同的词需要翻译。

1 个答案:

答案 0 :(得分:0)

有许多问题需要考虑(有多少单词,您计划支持多少种语言,存储要求是什么,运行时要求是什么)。

您是否想过一个字符串散列表,它将您的单词散列为存储翻译单词的向量。例如,“Ni”可以散列到存储其英语,西班牙语,意大利语翻译的向量中。这种方法也可以很好地扩展。