angular - 如何按日期对注册用户进行分组
问题描述
我在 Angular 和 Firebase 中按注册日期对用户文档进行分组时遇到问题
和文件就像
email "demo1@gmail.com"
gender "male"
id "42PWIOI0OiMtyOpfu7tfK34apj92"
name "John Doe"
phone "+1765435689"
reg_date April 2, 2019 at 2:10:09 PM UTC+3
email "demo2@gmail.com"
gender "female"
id "96PWHDI0OiMtyOpfu7tfK34apj92"
name "Jane Doe"
phone "+187643489"
reg_date April 4, 2019 at 6:10:09 PM UTC+3
email "demo3@gmail.com"
gender "male"
id "55PWIUTGDiMtyOpfu7tfK34apj92"
name "Wlly Doe"
phone "+1768885689"
reg_date April 2, 2019 at 2:10:09 PM UTC+3
email "demo4@gmail.com"
gender "male"
id "96PWHDI0OiMtyOpfu7tfK34apj92"
name "Olie Doe"
phone "+187643489"
reg_date April 4, 2019 at 2:10:09 PM UTC+3
所需的结果是按 reg_date 对数据进行分组
解决方案
我不确定您到底需要什么,但这是将它们分组的一种方法reg_date
。我使用Array.reduce(),然后使用Object.Assign()创建一个新对象,并将其reg_date
作为“主要”属性。
const data = [{
email: "demo1@gmail.com",
gender: "male",
id: "42PWIOI0OiMtyOpfu7tfK34apj92",
name: "John Doe",
phone: "+1765435689",
reg_date: "April 2, 2019 at 2:10:09 PM UTC+3"
},
{
email: "demo2@gmail.com",
gender: "female",
id: "96PWHDI0OiMtyOpfu7tfK34apj92",
name: "Jane Doe",
phone: "+187643489",
reg_date: "April 4, 2019 at 6:10:09 PM UTC+3"
},
{
email: "demo3@gmail.com",
gender: "male",
id: "55PWIUTGDiMtyOpfu7tfK34apj92",
name: "Wlly Doe",
phone: "+1768885689",
reg_date: "April 2, 2019 at 2:10:09 PM UTC+3"
},
{
email: "demo4@gmail.com",
gender: "male",
id: "96PWHDI0OiMtyOpfu7tfK34apj92",
name: "Olie Doe",
phone: "+187643489",
reg_date: "April 4, 2019 at 2:10:09 PM UTC+3"
}
]
const result = data.reduce((h, obj) => Object.assign(h, {
[obj['reg_date']]: (h[obj['reg_date']] || []).concat(obj)
}), {});
console.log(result);
推荐阅读
- javascript - Angular 5 iframe 设置宽度和高度与其内容相同
- reactjs - react-native-navigation 1.1.45 和 RN 0.43 兼容性
- database - DB2 中具有一个可为空列的复合唯一键
- excel - : 尝试打开文件夹中的所有 excel 文件,代码在 Do While FileName <> "" 之后跳过所有内容
- mysql - 忽略文本并提取 8 到 12 位数字之间的数字
- asp.net - 我的页面无故添加了额外的查询字符串参数
- three.js - Three.js:网格对象中的“向上”
- heroku - 如何在 Heroku 平台上部署 MoinMoin Wiki 服务器?
- java - SpringBoot websocket 中的messagingTemplate 是做什么用的?
- react-native - 我们可以在反应原生的相同文本标签中制作不同的样式吗?