【发布时间】:2016-03-09 14:43:39
【问题描述】:
我有一个数据结构,它是一个对象数组,每个对象都包含一个数组。我创建了一个函数,它返回该子数组中的每个对象并将它们连接到一个新数组中。
我想要的是将父数组中每个对象的属性之一与子数组中的每个对象相关联,然后将其添加到新数组中。
用代码解释:
原始数组
var clubData = [
{ club : 'Manchester United',
squad: [
{name : 'Young'},
{name : 'Rooney'},
{name : 'Mata'}
],
}
{ club : 'Chelsea',
squad: [
{name : 'Hazard'},
{name : 'Fabregas'},
{name : 'Ivanovic'},
]
}
]
新的 allPlayers 数组
在这里,我从“小队”变量中提取了每个对象...
var allPlayers = [
{name : 'Hazard'},
{name : 'Fabregas'},
{name : 'Ivanovic'},
{name : 'Young'},
{name : 'Rooney'},
{name : 'Mata'}
]
JS...
allPlayers = clubData.reduce(function(a, c){
return a.concat(c.squad);
}, []);
我想要什么...
相同,但将原始数组中的原始 club 属性添加到每个对象,并添加到每个结果对象。
var allPlayers2 = [
{name : 'Hazard'
club : 'Chelsea' },
{name : 'Fabregas'
club : 'Chelsea' },
{name : 'Ivanovic'
club : 'Chelsea' },
{name : 'Young'}
club : 'Manchester United' },
{name : 'Rooney'
club : 'Manchester United' },
{name : 'Mata'
club : 'Manchester United' }
]
有人知道我会怎么做吗?
提前致谢。
【问题讨论】:
标签: arrays angularjs foreach properties reduce