javascript - 从列表中选择的对象读取 [object Object]
问题描述
我正在用 JavaScript 开发一个网页游戏,我有一些对象数组。出于某种原因,我遇到了这个问题:当我从数组中随机选择一个对象时:
function Weapon(name, type, ranged, hitChance, rarity){
this.name = name;
this.type = type;
this.ranged = ranged;
this.hitChance = hitChance;
}
var weapons = [
new Weapon("Dagger", "weapon", false, 100, 3),
new Weapon("Katana", "weapon", false, 100, 2),
new Weapon("Throwing Dagger", "weapon", true, 60, 2),
new Weapon("Crossbow", "weapon", true, 75, 3),
new Weapon("Grenade", "weapon", true, 85, 1),
new Weapon("Molotov", "weapon", true, 95, 1),
new Weapon("Axe", "weapon", false, 80, 3),
new Weapon("Hammer", "weapon", false, 60, 3),
new Weapon("Handgun", "weapon", true, 90, 1),
new Weapon("Hatchet", "weapon", false, 80, 2),
new Weapon("Switchblade", "weapon", false, 70, 2),
new Weapon("Fishing Knife", "weapon", false, 75, 2),
new Weapon("Satchel Charge", "weapon", false, 90, 1)
];
var itemToGive = weapons[Math.floor(Math.random() * weapons.length)];
//Returns [object Object]
由于某种原因itemToGive
等于[object Object]
。
我听说 JavaScript 不会跟踪对象以防止滞后或类似的东西。如何让变量仅作为对象之一读取?
编辑:现在它返回未定义,而不是 [object Object]
解决方案
您的代码工作正常,变量itemToGive
是您认为应该是的对象。[object object]
只是您在字符串转换时遇到的一些问题。运行下面的代码片段
function Weapon(name, type, ranged, hitChance, rarity){
this.name = name;
this.type = type;
this.ranged = ranged;
this.hitChance = hitChance;
}
var weapons = [
new Weapon("Dagger", "weapon", false, 100, 3),
new Weapon("Katana", "weapon", false, 100, 2),
new Weapon("Throwing Dagger", "weapon", true, 60, 2),
new Weapon("Crossbow", "weapon", true, 75, 3),
new Weapon("Grenade", "weapon", true, 85, 1),
new Weapon("Molotov", "weapon", true, 95, 1),
new Weapon("Axe", "weapon", false, 80, 3),
new Weapon("Hammer", "weapon", false, 60, 3),
new Weapon("Handgun", "weapon", true, 90, 1),
new Weapon("Hatchet", "weapon", false, 80, 2),
new Weapon("Switchblade", "weapon", false, 70, 2),
new Weapon("Fishing Knife", "weapon", false, 75, 2),
new Weapon("Satchel Charge", "weapon", false, 90, 1)
];
var itemToGive = weapons[Math.floor(Math.random() * weapons.length)];
console.log(itemToGive);
推荐阅读
- scala - 从 Scala 中的 Pubsub 读取 AVRO 消息 (readAvroGenericRecords)
- php - 查询中有冒号字符时 PHP PDO Postgres 出现问题
- powershell - 发生了 Windows PowerShell 无法处理的错误
- flutter - Flutter FittedBox / Expand / Flexible 基于列中的小部件
- symfony - API 平台搜索过滤关系列
- node.js - AWS 开发人员门户 - 如何在本地设置和更改 UI
- c++ - 如何使用 SetWindowsHookEx 挂钩 wm_messages
- python - Unable to scrape data from Website with Python
- google-cloud-vertex-ai - 发送 http 请求 Google Vertex AI 端点
- javascript - 即使地址栏中的路由更改,React Router 也不会呈现视图