如何使用 Lodash / Underscore 进行以下数据处理分组处理

发布于 2022-09-02 15:59:43 字数 1244 浏览 13 评论 0

有以下格式的 json:

[
    {
        id: 1,
        created: "2016-05-04 15:12:40",
        content: '...'
    },
    {
        id: 2,
        created: "2016-02-04 15:12:40",
        content: '...'
    },
    {
        id: 3,
        created: "2015-12-04 15:12:40",
        content: '...'
    },
]

使用 Lodash 的 groupBy 函数 return created 的月份将会得到以下结果。。

{
    5: [{
        id: 1,
        created: "2016-05-04 15:12:40",
        content: '...'
    }],
    2: [{
        id: 2,
        created: "2016-02-04 15:12:40",
        content: '...'
    }],
    5: [{
        id: 3,
        created: "2015-12-04 15:12:40",
        content: '...'
    }],
    
}

如何处理得到以下结果

[
    {
        month: '本月',
        data: [
            {
                id: 1,
                created: "2016-05-04 15:12:40",
                content: '...'
            }
        ]
    },
    {
        month: '4月',
        ...
    }
]

已自行解决

const groupedByMonth = groupBy(this.incomes, item =>
  item.updated_at.substring(0, 7)
);
const result = reduce(groupedByMonth, (res, data, date) => {
  res.push({ date, data });
  return res;
}, []);
return result;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心凉怎暖 2022-09-09 15:59:43
var re=_.groupBy(arr,function(item){
    return (new Date(item.created).getMonth());
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文