Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
361 views
in Technique[技术] by (71.8m points)

javascript - Merge / Combine object arrays into single object

I have an object with key values, and those keys each contain an array of objects:

var obj = {
  "0": [
    {
      "category": "A",
      "index": 0,
      "property": "Name",
      "value": "Bob"
    },
    {
      "category": "A",
      "index": 0,
      "property": "Surname",
      "value": "Dylan"
    }
  ],
  "1": [
    {
      "category": "A",
      "index": 1,
      "property": "Name",
      "value": "Elvis"
    },
    {
      "category": "A",
      "index": 1,
      "property": "Surname",
      "value": "Presley"
    }
  ]
}

How would I go about merging the objects into one single array with the objects combined therein? The objective is to have the result return the following:

var obj2 = [
        {
          "category": "A",
          "index": 0,
          "property": "Name",
          "value": "Bob"
        },
        {
          "category": "A",
          "index": 0,
          "property": "Surname",
          "value": "Dylan"
        },
        {
          "category": "A",
          "index": 1,
          "property": "Name",
          "value": "Elvis"
        },
        {
          "category": "A",
          "index": 1,
          "property": "Surname",
          "value": "Presley"
        }
    ]

I've tried to make use of LoDash union and join, however to no avail.

question from:https://stackoverflow.com/questions/65909800/merge-combine-object-arrays-into-single-object

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Assuming your example was wrong, and it's actually like below (since what you put in isn't even valid), you can just use Object.values(obj).flat()

var obj = {
    "0": [{
      "category": "A",
      "index": 0,
      "property": "Name",
      "value": "Bob"
    }],
    "1": [{
      "category": "A",
      "index": 1,
      "property": "Name",
      "value": "Jessica"
    }]
}

console.log(Object.values(obj).flat())

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...