首页
归档
笔记
树洞
搜索
友言

文章详情

Interesting People Record Interesting.

/ JavaScript / 文章详情

js 把时间作为列表的key,生成一个树

Sonder
2022-01-25
904字
2分钟
浏览 (3.7k)

图示要求

微信图片_20220125105855.png
假设返回的列表

微信图片_20220125105859.png
想要的结果

完整代码

复制代码
let data = [
    {
        created_at: '2022-01-24 18:25:43',
        id: 1
    },
    {
        created_at: '2022-02-24 18:25:43',
        id: 2
    },
    {
        created_at: '2022-01-24 12:25:43',
        id: 3
    },
    {
        created_at: '2023-01-24 18:25:43',
        id: 4
    },
    {
        created_at: '2021-01-24 18:25:43',
        id: 5
    },
];
const group = data.reduce((obj, item) => {
    // const year = new Date(item.created_at.replace(/-/g, '/')).getFullYear()
    const year = item.created_at.substring(0, 4)
    if (!obj[year]) obj[year] = []
    obj[year].push(item)
    return obj
}, {})
let a = Object.keys(group).map(key => ({ time: key, lists: group[key] }))
// 还原的方法
// let b = a.reduce((arr, item) => arr.concat(item.lists), [])
// console.log(b, `=========>b`)
console.log(a, `=========>a`)
image.png
下一篇 / MacType 让你的Window字体跟Mac一样好看!

🎯 相关文章

💡 推荐文章

🕵️‍♂️ 评论 (0)