javascript - 动态添加成员到 javascript 对象

标签 javascript object

我正在编写合约桥牌的评分脚本,只是为了咯咯笑。我将游戏存储为对象:

var game = {
    team1 : { player1 : prompt("Team 1, first player: "), player2 : prompt("Team 1, second player:") }, 
    team2 : { player1 : prompt("Team 2, first player: "), player2 : prompt("Team 2, second player:") },
}

function deal(bid){
    console.log("The bid was " + bid);
    game.hand = {"bid" : bid , "made" : undefined};
    score();
}

因此,我想做的比这更好的事情是保留本次比赛的历史记录。我想用伪代码做这样的事情:

game.(hand + (hand.length+1))

或者类似的东西;基本上自动递增对象内的某个对象。我不太确定数组会在这里,但也许?我愿意接受建议/改进我的代码。

PS - 我更喜欢在 javascript 中执行此操作,而不是 jQuery、Prototype、Dojo、MooTools... 或任何其他库。谢谢!

编辑

抱歉,让我澄清一下:玩 3 手左右后的结果将是这样的对象:

var game = {
    team1 : { player1 : prompt("Team 1, first player: "), player2 : prompt("Team 1, second player:") }, 
    team2 : { player1 : prompt("Team 2, first player: "), player2 : prompt("Team 2, second player:") },
    hand1 : { bid : 2 , made : 2 } ,
    hand2 : { bid : 1 , made : 4 } ,
    hand3 : { bid : 3 , made : 1 } ,
    hand4 : { bid : 2 , //and made hasn't been set yet because we're mid-hand

}

最佳答案

根据您的伪代码,您可以执行以下操作:

 game[hand + (hand.length+1)]

game["prop"] == game.prop - 两者都提供对同一属性的访问。

关于javascript - 动态添加成员到 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384938/

相关文章:

javascript - 如何展平包含数组的对象数组?

javascript - 如何将 Display None 属性添加到 Img 标签

javascript - jQuery Ajax 请求错误 404(未找到)但它有效

javascript - EaseJS 将颜色滤镜应用于位图

javascript - Node.js - 如何检索对象/数组中元素的值

php - 制作对象并将其传递到 codeigniter View

javascript - 按 "date"以 YYYY/MM/DD 格式过滤 javascript 对象列表

javascript - 将 ?enablejsapi=1 添加到 YouTube iframe 代码

javascript - 在中心模式光滑 slider 中禁用下一个/上一个部分 View

javascript - 使用map方法将javascript对象数组转换为其他对象数组