使用对象存储数据,并能够使用JavaScript更改它

时间:2015-05-10 10:53:26

标签: javascript

我正在尝试使用JavaScript制作钓鱼游戏,我遇到的问题是存储玩家捕获的鱼类。

var fishStorage = {};

这将是存储数据的对象。

var fishStorage["player_id"] = {fish: "aaa,bbb,ccc,ddd"}

可以动态添加Fish值吗?像

function(id){
 fishStorage[id].fish // .push?? 
}

如果我的问题不具体,我可以提供更多代码来解释捕鱼过程。

并且获取数据很容易..但附加是令我困惑的,如果有人可以请提供文档的链接或任何帮助,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

如果要动态添加值:

fishStorage[id].fish = value;

如果您想追加新值:

fishStorage[id].fish += "," + value;

答案 1 :(得分:1)

如果您尝试访问尚未存在的id的媒体资源,则只需确保创建对象

function addFish(id, val){
    if (!fishStorage[id])
        fishStorage[id] = {};
    fishStorage[id].fish = val;
}

根据您所需的输出,不同的实现可能是

function addFish(id, val){
    if (!fishStorage[id])
        fishStorage[id] = {fish: val};
    else
        fishStorage[id].fish += ',' + val;
}

答案 2 :(得分:1)

您需要先为其指定一个对象。只使用fishStorage[id].fish会给您一个错误,但如果您分为两个步骤,如:

fishStorage[id] = {};
fishStorage[id].fish = 'foo';

然后它会起作用。您可能想要添加一个检查以便能够使用它。像:

function(id){
    if (!fishStorage[id]) fishStorage[id] = {};
    fishStorage[id].fish = 'foo';
}