【问题标题】:How to merge multiple arrays into an object?如何将多个数组合并为一个对象?
【发布时间】:2020-05-17 21:06:02
【问题描述】:

这是我当前的output,由多个arrays组成:

["{"486|575":2,"484|568":4}", "{"486|575":2,"484|568":4}", "{"481|570":1,"482|564":1}"]

我正在寻找一种方法,使用 js/jquery 将这些多个数组组合成一个 object 和以下 output

{486|575: 4, 484|568: 8, 481|570: 1, 482|564: 1}

看看重复项的键值如何汇总到对象中?

我该如何解决这个问题?我对 js/jquery 比较陌生!

【问题讨论】:

  • 我看到你只有一个数组,你能详细说明一下这个问题吗?

标签: javascript jquery arrays object


【解决方案1】:

您可以使用JavaScriptreduce 功能。您可以这样做:

var data =[{"486|575":2,"484|568":4}, {"486|575":2,"484|568":4}, {"481|570":1,"482|564":1}];

var result= data.reduce((acc, elem)=>{
  for(const [key, value] of Object.entries(elem)){
      acc[key] = acc[key] || 0;
      acc[key] += value;
   }
   return acc;
},{})

console.log(result)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 2019-06-18
    • 2022-11-08
    • 2018-02-09
    • 2018-12-31
    • 1970-01-01
    • 2021-01-18
    相关资源
    最近更新 更多