将每个数组的所有对象连接到每个键的相同数组中

时间:2017-05-02 06:14:53

标签: jquery angularjs underscore.js

我有这个

[{"n1":{"0":"2"},"f1":{"0":3}},{"n1":{"1":"3"},"f1":{"1":2}}]

我想要这个

[{"n1":{"0":"2", "1":"3"},"f1":{"0":3, "1":2}}]

使用下划线或Jquery ..请指导......

1 个答案:

答案 0 :(得分:3)

你可以使用终极reduce(我喜欢称之为单功能军队)和一堆for-in来使用纯JS来解决这个问题。像这样:



let arr = [{"n1":{"0":"2"},"f1":{"0":3}},{"n1":{"1":"3"},"f1":{"1":2}}]

let modified = arr.reduce((res, objs) => {
  for (let key in objs) {
    res[key] = res[key] || {}
    for (let i in objs[key]) {
      res[key][i] = objs[key][i]
    }
  }
  return res
}, {})

let result = [modified]

console.log(result)

.as-console-wrapper { max-height: 100% !important; top: 0; }