我正在尝试使用JavaScript制作钓鱼游戏,我遇到的问题是存储玩家捕获的鱼类。
var fishStorage = {};
这将是存储数据的对象。
var fishStorage["player_id"] = {fish: "aaa,bbb,ccc,ddd"}
可以动态添加Fish值吗?像
function(id){
fishStorage[id].fish // .push??
}
如果我的问题不具体,我可以提供更多代码来解释捕鱼过程。
并且获取数据很容易..但附加是令我困惑的,如果有人可以请提供文档的链接或任何帮助,我将不胜感激。
答案 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';
}