仍在通过 HTML 页面创建迷你文本 RPG 游戏来学习 Javascript :) 很好的实践,尝试学习一些新方法或在我的项目中添加一些新的更好的代码。
现在我正在尝试通过函数向我的项目添加语言;
language.addLang = function(name,id){
if (id != this.log[id]) {
this[name] = new Object;
this.log[id] = name
}
}
编辑; 试图说是否可以将数组索引号与参数 ID 号进行比较。 参数上的名称只是一个语言名称,例如带有字符串值的英语。 id 就是它将被放入的数组索引。还有一个条件分支,可以将所有文本翻译成该语言以供以后使用。
对于那些想知道日志是什么的人;
language.log = [
undefined, 'English','Swedish','Japanese','German'
]
总结; 如上所述,日志数组长度现在为 5。 假设我想在我的项目中添加一种我将翻译的新语言,稍后我可以编写 language.addLang('Chinese',5)。 这会将“Chinese”字符串添加到数组索引号 5 中。 然而!如果我从已经存在的不同索引号添加,它将显示一些错误,而不是将“中文”覆盖为另一种语言。
我希望这比我上一篇文章能更好地解释。 我可以手动翻译它,而不是为每种语言添加新对象。 但如果我可以将参数编号与索引编号进行比较,那就可以救命了。
@Charliefl 是对的,但我想这可能会为您提供一个线索,通过根据您的其他代码进行修改来应用于您的案例。
var IncludedLanguages = [ 3 , 4 , 5 ]
var LangObjectsArray = []
language.addLang = function(name,id){
if ( IncludedLanuages.includes( id ) != true ) {
var obj = { "name" : name , "id" : id }
LangObjectsArray.push( obj )
IncludedLanguages.push( id )
}
}