微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对象上值的访问索引

如何解决对象上值的访问索引

我的问题:我想从我的对象键值中随机访问一个索引。

我正在尝试创建一个基于文本的冒险游戏。我有一个元素可以根据您正在进行的“任务”显示不同的文本和按钮选项。我希望它从我的任务对象中随机选择一个任务。

例如:我将有一个带有任务名称的键,例如:“Dragon Slayer”,然后是一个名为 text 的键,它将具有一个字符串值:“你想杀死一条龙吗”

我希望用一个对象来实现这一点...

const quest = {
  dragonfight: {
    text: "you are fighting dragon",button1: "fight",button2: "flee"
  } //etc for others.
}

在尝试随机获取其中一个值时,我意识到我无法像访问数组索引那样访问这些值。我以为我可以使用类似的东西..

var mainQuest = Math.floor(Math.random()* Quest[0].length);

displayText = Quest[mainQuest[mainQuest].title]

解决方法

Andreas 有正确答案,实现基本是:

let keys=Object.keys(quest)
let index=Math.floor(Math.random()*keys.length)
randomQuest=quest[keys[index]]

randomQuest 将是随机选择的任务 :D

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。