我有一个["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);