Я создаю игру для изучения языка и на данный момент храню все слова слова в объекте JS (для концепции, позже я буду хранить их в базе данных).Язык обучения - как классифицировать слова в объекте
В качестве слова с объекта words
будет показан игрок в банке слов. Оттуда они могут щелкнуть по слову, чтобы добавить его в текстовое поле.
Когда они завершают предложение, они могут представить, что будет проверять правильный порядок слов против предварительного письменного предложения. Что-то вроде:
preWrittenSentence.push("Ni", "Hao", "Wo", "Shi");
var correctOrder = preWrittenSentence.join(' ').toLowerCase();
if ($.trim(input.toLowerCase()) == correctOrder) {
Good job...
В игре, если игрок завершает «задачу», это означает, что они представили правильное предложение, они переходят к следующей задаче.
Первоначально я структурировал слова «задача» в объекте. Это позволило мне выводить соответствующие слова для данной задачи на банк слов (в противном случае, если бы я не разделил их в объекте, он прокручивал каждое слово в объекте, даже если это не было релевантно для данное предложение):
var words = {
"task1" :
{
'Ni' : 'you',
'Wo' : 'I',
},
"task2" :
{
'Xie Xie' : 'Thanks',
'Bu' : 'No',
}
}
проблема с этим ... Если я хочу, чтобы повторно использовать слово в других задачах, такие как Ni
, я бы дублировать его в объекте для выполнения этой задачи ... когда Я предпочел бы просто повторно использовать Ni
из задачи1.
Так что я подумал, что я могу просто сваливать все слова в объект как таковой:
var words = {
'Ni' : 'you',
'Wo' : 'I',
'Xie Xie' : 'Thanks',
'Bu' : 'No'
}
Но теперь у меня нет никакого способа, чтобы контролировать, какие слова я хочу отображаться в Wordbank, если все они объединены ,
Итак, наконец, я подумал, что я могу поставить слова в объекте по части речи:
var words = {
"pronouns" :
{
'Ni' : 'you',
'Wo' : 'I',
},
"adjectives" :
{
'Hao' : 'good',
'Kuai' : 'fast'
}
}
Это позволит предотвратить дублирование слов в базе данных слов, но до сих пор не позволил бы мне поместить соответствующий vocab в слове bank для данной задачи.
Так что мой вопрос: есть способ организовать его, как один из приведенных выше (pronouns
, adjectives
и т.д.) и выберите в эффективном способе слова я хотел бы отображаться в слове банки присваивается определенный номер задачи ?
Спасибо!
Вы бы интерпретировать строку каждый 'key' и бега функция «сортировка» за ее пределами. Сколько слов мы говорим здесь? –
@NicholasHazel тысячи. но можете ли вы объяснить, что вы имеете в виду? – Growler
У меня почти возникло бы желание создать статические «массивы» ваших «местоимений», «прилагательных» и т. Д., И просто организовать их через них и заполнить их словарем. –