如何获取数组中存在的对象中的所有对象并将结果添加到另一个数组中

How can I get all the object inside an object which is present inside an array and add the result into another array

我正在努力解决一个困扰我很多的问题。我不擅长 JSON 数据操作。

所以问题是我有一个包含一些数据的多个对象数组,现在在这些对象中,我有另一个我想要的对象数组

JSON 看起来像这样-

const data = [{
  a: 2,
  b: 3,
  c: 4,
  d: [{
    e: 5,
    f: 4,
    g: 6,
  }, {
    h: 5,
    i: 4,
    j: 6,
  }]
}, {
  a: 11,
  b: 31,
  c: 42,
  d: [{
    e: 54,
    f: 46,
    g: 62,
  }, {
    h: 55,
    i: 42,
    j: 64,
  }]
}]

现在我想要的是一个包含以下数据的数组

const d = [{
  e: 5,
  f: 4,
  g: 6,
}, {
  h: 5,
  i: 4,
  j: 6,
}, {
  e: 54,
  f: 46,
  g: 62,
}, {
  h: 55,
  i: 42,
  j: 64,
}]

我尝试映射数据,但我总是得到一个看起来像

的数组
const data = [
  [{
    e: 5,
    f: 4,
    g: 6,
  }, {
    h: 5,
    i: 4,
    j: 6,
  }],
  [{
    e: 54,
    f: 46,
    g: 62,
  }, {
    h: 55,
    i: 42,
    j: 64,
  }]

]

不确定我做错了什么。需要一些帮助

您可以遍历 data,然后再次遍历 data.d 以获得所有需要的数据。对于每个数据,您将其推入另一个稍后将使用的数组。

const data = [{a:2,b:3,c:4,d:[{e:5,f:4,g:6,},{h:5,i:4,j:6,}]},{a:11,b:31,c:42,d:[{e:54,f:46,g:62,},{h:55,i:42,j:64,}]}]
let result = [];
data.forEach(d => d.d.forEach(dd => result.push(dd)));
console.log(result);