javascript - 函数参数未正确添加到 JSON 对象

标签 javascript json object

在我正在创建的游戏中,我有一个函数可以获取元素的名称和数量,并将其添加到 JSON“玩家库存”中。

代码如下:

function inventory(addOrRemove, item, amount) {
console.log(item);
    if (addOrRemove == 'add') {
        if (player.inventory.item== undefined) {
            player.inventory.item= amount;
        } else {
            player.inventory.item= player.inventory.item+ amount;
        }
    } 
console.log(player.inventory)
}

以这种方式调用该函数时的输出如下:

inventory('add','coin',10)
// In the console log on line 2, "item" is defined as "coin"
// The player invetory object as called for in the console on line 10 has one value, "item: 10"

现在的问题是,它不会根据函数参数添加到数组中。我希望玩家库存对象为“player.inventory.coin: 10”而不是“player.inventory.item: 10”。这同样适用于任何商品,因此库存可以动态添加任何类型的独特商品。

我寻找了其他类似的问题,但找不到与我有同样问题的人,虽然也许这是因为我自己并不完全确定这个问题叫什么,但我确实付出了努力并被难住了.

最佳答案

您需要将 item 变量传递给您的 inventory 对象,如下所示:

player.inventory[item] = amount;

这将使用 item 变量中的字符串 'coin' 并将其设置为 inventory 对象中的键:

player.inventory['coin'] = amount;

关于javascript - 函数参数未正确添加到 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41605380/

相关文章:

javascript - highcharts 动态样条线与表中的流体尺寸问题

javascript - javascript 中 Uncaught ReferenceError

javascript - getJSON 显示 [object Object] 而不是实际值

java - 如何获取对象所有字段的标题

c# - 我应该为此使用 WebApi 吗? ASP.net MVC

java - 找不到符号: barkOnce() of location: variable d of type Object

javascript - 如何对数组中的每个元素进行 API 调用

javascript - 使用 Javascript 计算包含特定字符串的数组中唯一出现的次数

json - 如果某些属性为空,则使用 nifi 中的 jolt 变换规范从 Json 数组中删除 Json 元素

javascript - KineticJS:保存到 JSON:对象保存多次