【发布时间】:2019-05-19 02:12:46
【问题描述】:
提前感谢任何可以帮助我的人。我正在尝试使用 React Native 中的 SectionList 显示数据。我在下面写了我的代码,显示了我想要完成的事情。常规的 javascript 解决方案将起作用。我希望数据首先按日期分组,在该日期内,我需要按位置分组。
它有一个标题和数据键很重要 我有这种格式的数据:
[ { game_id: 1171,
date: '2018-11-17',
location: 'Plaza'
},
{ game_id: 1189,
date: '2018-11-17',
location: 'Field - Kickball'
},
{ game_id: 1489,
date: '2018-11-16',
location: 'Field - Kickball'
},
{ game_id: 1488,
date: '2018-11-16',
location: 'Field - Soccer'
}
]
我需要显示输出:
data = [{
title: "2018-11-17",
data: [{
title: "Field - Kickball",
data: [{
game_id: 1189,
date: '2018-11-17',
location: 'Field - Kickball'
}]
},
{
title: "Plaza",
data: [{
game_id: 1171,
date: '2018-11-17',
location: 'Plaza'
}]
}
]
},
{
title: "2018-11-16",
data: [{
title: "Field - Kickball",
data: [{
game_id: 1489,
date: '2018-11-16',
location: 'Field - Kickball'
}]
},
{
title: "Field - Soccer",
data: [{
game_id: 1488,
date: '2018-11-16',
location: 'Field - Soccer'
}]
}
]
}
]
我已经试过了
const games = [data here]
var groups = _(games)
.groupBy(x => x.date)
.map(value => {
return _.groupBy(value, 'location')
.map(({key, value}) => ({title: key, data: value}))
})
.map((value, key) => {
return ({title: value[Object.keys(value)[0]][0].date, data: value})
})
【问题讨论】:
-
你也能写出预期的输出吗?
-
期望值是以“我需要输出显示:”开头的代码
标签: javascript arrays object ecmascript-6 lodash