Javascript 如何将两个不同的数组数据渲染为单个对象数组?
在我的react状态下,有数据进入两个不同的数组,我希望我的组件Javascript 如何将两个不同的数组数据渲染为单个对象数组?,javascript,arrays,reactjs,ecmascript-6,Javascript,Arrays,Reactjs,Ecmascript 6,在我的react状态下,有数据进入两个不同的数组,我希望我的组件将两个数组的数据放入一个数组中。这是两个阵列的数据格式: data: { array1: [ { name: "John Doe" }, { name: "Bob Williams" } ] array2: [ { name: "Clark Kent" }, {
将两个数组的数据放入一个数组中。这是两个阵列的数据格式:
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" }
]
可以使用将两个数组合并为一个数组
const data={array1:[{name:“John Doe”},{name:“Bob Williams”}],array2:[{name:“Clark Kent”},{name:“Bruce Wayne”}]};;
const result={data:[…data.array1,…data.array2]};
控制台日志(结果)代码>您可以使用将两个数组合并为一个数组
const data={array1:[{name:“John Doe”},{name:“Bob Williams”}],array2:[{name:“Clark Kent”},{name:“Bruce Wayne”}]};;
const result={data:[…data.array1,…data.array2]};
控制台日志(结果)代码>使用
使用
谢谢阮的回复。这看起来不错。如果我在两个数组中都有其他属性,并且我希望将其他属性作为目标来显示页面上的数据,那么这是否也会起作用?是的,响应是@ShaunThanks-Nguyen。这看起来不错。如果我在两个数组中都有其他属性,并且我希望将其他属性作为目标来显示页面上的数据,那么这是否也会起作用?是的,它是@Shaun
const data = Object.values(this.state.data).flat();
Object.values(this.state.data).reduce((p, c) => p.concat(c), []);