如何汇总同一数组中的对象?

时间:2018-12-09 12:29:16

标签: javascript arrays

我想计算arrayOne和arrayTwo之间的BTC差,就像:

if(BTC = BTC)(BTC Value arrayOne - BTC arrayTwo)

如何使用JavaScript中的map函数来做到这一点?

arrayOne [
  {
    "BTC": 1.21980
  },
  {
    "ETH": 8.32983  
  }
];

arrayTwo = [
  {
    "BTC": 0.21980
  },
  {
    "ETH": 4.32983  
  }
]

我希望返回值是这样的:

        result = [
            {
                "BTC": 1
            },
            {
                "ETH": 4    
            }
        ]

2 个答案:

答案 0 :(得分:0)

您可以很容易地生成{"BTC": 1}对象:

var arrayOne = [
            {
                "BTC": 1.21980
            },
            {
                "ETH": 8.32983  
            }
        ];

var arrayTwo = [
            {
                "BTC": 0.21980
            },
            {
                "ETH": 4.32983  
            }
        ];

var diff = arrayOne[0]["BTC"] - arrayTwo[0]["BTC"];
var resultBTC = { "BTC":  diff};

现在,您可以轻松地从那里继续创建result数组。

答案 1 :(得分:0)

如果您希望BTC和ETH在一个数组中的差异仅是

var DifferenceBTC = arrayOne [0] [“ BTC”]-arrayTwo [0] [“ BTC”]

var Difference ETH = arrayOne [1] [“ ETH”]-arrayTwo [1] [“ ETH”]

var结果= [differenceBTC,差异ETH]