javascript - 将数据从数组排列到对象

标签 javascript node.js

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

[0] 在#2 上投注 $23 获胜 [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);

关于javascript - 将数据从数组排列到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384138/

相关文章:

ajax - Angular资源如何保留ajax header 并同时启用cors

javascript - Node 和惰性 : How do I know when it's done?

javascript - Nativescript 裸 webview 似乎不起作用

javascript - 如何在正则表达式中使用变量?

javascript - 如何使用 Babel 构建 Webpack(同时保留源文件夹结构)?

node.js - Node gm - 调整图像大小并保持纵横比?

node.js - Azure 移动服务表筛选器

javascript - 如何减少复制粘贴代码?重构?

javascript - Chrome 何时清除磁盘缓存?

javascript - 我如何在 d3 v3 中实现 Brush.move