如何合并多个 JSON 对象中的子对象?

Mar*_*low 0 javascript merge jquery json

我有以下 JavaScript 对象

\n\n
[\n  {\n    "familyName": "Smith",\n    "children": [\n      {         "firstName": "John"       },\n      {         "firstName": "Mike"       }\n    ]\n  },\n  {\n    "familyName": "Williams",\n    "children": [\n      {         "firstName": "Mark"       },\n      {         "firstName": "Dave"       }\n    ]\n  },\n  {\n    "familyName": "Jones",\n    "children": [\n      {         "firstName": "Mary"       },\n      {         "firstName": "Sue"        }\n    ]\n  }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

I\xe2\x80\x99d 喜欢创建一个包含所有子项的数组,即

\n\n
[\n  {     "FirstName": "John"   },\n  {     "FirstName": "Mike"   },\n  {     "FirstName": "Mark"   },\n  {     "FirstName": "Dave"   },\n  {     "FirstName": "Mary"   },\n  {     "FirstName": "Sue"    }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在使用 jQuery。

\n\n

我看过描述合并或连接数组的帖子,但没有看过描述子数组的帖子:例如,在 JavaScript 中合并/展平数组数组?

\n\n

我相信我可以循环遍历家庭并添加子数组,但怀疑有一个“单行”吗?

\n

Luc*_*cas 5

我在控制台测试过:

//The families(duh)
const families = [
{
    "familyName": "Smith",
    "children": [
      {         "firstName": "John"       },
      {         "firstName": "Mike"       }
    ]
  },
  {
    "familyName": "Williams",
    "children": [
      {         "firstName": "Mark"       },
      {         "firstName": "Dave"       }
    ]
  },
  {
    "familyName": "Jones",
    "children": [
      {         "firstName": "Mary"       },
      {         "firstName": "Sue"        }
    ]
  }
]
//Just flatten the children:
var children = [].concat.apply([], families.map(family => family.children));
//Outputs
console.log(children);
Run Code Online (Sandbox Code Playgroud)