我有一个["Bet:W:2:23:, "Bet:P:6:2", "Bet:W:5:3"]数据数组。

[0]下注$ 23,赢得#2
[1]在#6上下注$ 2,以此类推

如何安排数据,以便将赌注添加到彩池中,然后在支持获胜者的所有人之间分配彩池?

我尝试遍历并分隔':'。这意味着我可以创建下注池,但是这意味着我失去了下注与其下注的马匹之间的联系。我假设为了维持这种连接,我需要创建一个对象,但是我还无法弄清楚如何做到这一点。

最佳答案

您正在寻找map

const bets = ["Bet:W:2:23", "Bet:P:6:2", "Bet:W:5:3"].map(b => {
    const bet = b.split(':');
    return {
        type: bet[1],
        number: bet[2],
        amount: parseInt(bet[3], 10)
    };
});


数据采用易于使用的形式后,您可以执行其他有用的操作,例如使用reduce查找池数量:

const pool = bets.reduce((sum, bet) => sum + bet.amount, 0);

09-11 07:25