Javascript Ramda-组合数组中具有相同键值的重复对象

Javascript Ramda-组合数组中具有相同键值的重复对象,javascript,ecmascript-6,ramda.js,Javascript,Ecmascript 6,Ramda.js,我有一个对象数组,如果它们具有相同的名称,我希望在其中进行组合,并将它们的FeederTeam添加到一个数组中 该数组如下所示: const TEAMS = [{ name: 'Liverpool', id: '1', feederTeam: 'Tranmere' }, { name: 'Liverpool', id: '2', feederTeam: 'Stockport' }, { name: 'Man Utd', feeder

我有一个对象数组,如果它们具有相同的名称,我希望在其中进行组合,并将它们的FeederTeam添加到一个数组中

该数组如下所示:

const TEAMS = [{
    name: 'Liverpool',
    id: '1',
    feederTeam: 'Tranmere'
}, {
    name: 'Liverpool',
    id: '2',
    feederTeam: 'Stockport'
}, {
    name: 'Man Utd',
    feederTeam: 'Bla',
    id: '3',
}, {
    name: 'Liverpool',
    id: '6',
    feederTeam: 'Oldham'
}]
我想用Ramda把它转换成这样:

[{
    name: 'Liverpool',
    feederTeam: ['Tranmere', 'Stockport', 'Oldham']
}, {
    name: 'Man Utd',
    feederTeam: ['Bla'],
}]
我尝试过很多方法,但都没有成功。这是我的最新尝试

R.forEach((team => R.filter(R.propEq('name', team.name), TEAMS)), TEAMS); 

由于要将多个元素组合在一起,请使用R.groupBy。然后从具有R.值的组的对象中获取一个数组,并将每个组映射到所需的形式:

const{pipe,groupBy,prop,values,map,applySpec,nth}=R
常数fn=管道(
groupBy(prop('name'),//按name属性对对象进行分组
值,//获取组的数组
map(applySpec({//将每个组映射到一个对象
名称:pipe(n(0),prop('name'),//从组中的第一个对象获取名称
feederTeam:map(prop('feederTeam'),//将所有feedTeam道具收集到一个数组中
})),
)
康斯特队=[{“姓名”:“利物浦”,“身份证”:“1”,“饲料队”:“特拉梅尔”},{“姓名”:“利物浦”,“身份证”:“2”,“饲料队”:“斯托克波特”},{“姓名”:“曼联”,“饲料队”:“布拉”,“身份证”:“3”},{“姓名”:“利物浦”,“身份证”:“6”,“饲料队”:“奥尔德姆”}]
const result=fn(团队)
console.log(结果)