javascript - 对象上值的访问索引
问题描述
我的问题:我想从我的对象键值中随机访问一个索引。
我正在尝试创建一个基于文本的冒险游戏。我有一个元素,可以根据您所在的“任务”显示不同的文本和按钮选项。我希望它从我的任务对象中随机选择一个任务。
例如:我将有一个带有任务名称的键,例如:“Dragon Slayer”,然后是一个名为 text 的键,它将有一个字符串值:“Do you want to kill a dragon”
我希望用一个对象来实现这一点......
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]
解决方案
安德烈亚斯有正确答案,实现基本上是:
let keys=Object.keys(quest)
let index=Math.floor(Math.random()*keys.length)
randomQuest=quest[keys[index]]
并且randomQuest
将是随机选择的任务:D
推荐阅读
- google-chrome - 如何设置 Chrome 插件清单,以便内容脚本仅在某些子域上运行?
- javascript - 在 Cypress 中,如何从定义的数组列表中单击特定值?
- python-3.x - 我正在尝试通过串行通信读取传感器数据,但是当我尝试读取它时,它只是在 python 中运行,但它没有显示任何值
- php - 从 Firebase Admin SDK (PHP) 调用云函数
- powerbi - 计算每行的列日期和最小切片器日期之间的日期差异
- ruby-on-rails - 如何上传多个图像并同时更新一个实体。Rails API 和 JS 前端
- javascript - 从客户端将 HTML 表保存到服务器上的 CSV
- confluence - Confluence 中的“站点搜索”
- html - 用 0.2vw 宽度围绕我的三角形获得边框
- python - 使用 Django 和 sqlalchemy 连接到 Postgres 数据库