【发布时间】:2021-07-30 20:17:08
【问题描述】:
仍然通过 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)。 这会将“中文”字符串添加到数组索引号 5 中。 然而!如果我从已经存在的不同索引号添加,它将显示一些错误,而不是将“中文”覆盖为另一种语言。
我希望这比我上一篇文章解释得更好。 我可以手动翻译它,而不是为每种语言添加一个新对象。 但是,如果我可以将参数编号与索引编号进行比较,那将是救命的。
【问题讨论】:
-
欢迎来到 SO。您的问题取决于 id 和 log 是什么,如果没有 minimal reproducible example,我们不知道。至于数组比较,您应该搜索该主题。两个不同的数组对象可以有相同的元素但它们不是
== -
请说明
id和log[Id]是什么。有id != this.log[id]的比较。 -
确实更新了我的帖子。抱歉,我的意思是如果您可以将数组索引号与此参数号进行比较。示例 如果我已经有 language.log[1],如果我写 language.addLang('English',1) 不会发生任何事情,因为 1 != this.log[ 1] 是假的。
标签: javascript arrays conditional-statements equals