首页 > 解决方案 > 如何将两个不同的数组数据渲染到一个对象数组中?

问题描述

在我的反应状态下,我有数据进入两个不同的数组,我希望我的组件能够put both arrays data in a single array. 这是我对两个数组都有的数据格式:

data: {
  array1: [
    {
      name: "John Doe"
    },
    {
      name: "Bob Williams"
    }
  ]

  array2: [
    {
      name: "Clark Kent"
    },
    {
      name: "Bruce Wayne"
    }
  ]
}

如何让我的代码返回数据,以便最终结果如下所示:

_.map(Object.values(this.state.data), (item,key) => {
  return _.map(item, (data) => {
    return {
      name: data.name
    }
  })
})

期望的输出:

data: [
  { name: "John Doe" },
  { name: "Bob Williams" },
  { name: "Clark Kent" },
  { name: "Bruce Wayne" }
]

标签: javascriptarraysreactjsecmascript-6

解决方案


您可以使用Spread operator ...将 2 个数组合并为一个。

const data = {array1:[{name:"John Doe"},{name:"Bob Williams"}],array2:[{name:"Clark Kent"},{name:"Bruce Wayne"}]};;

const result = {data: [...data.array1, ...data.array2]};
console.log(result);


推荐阅读