Skip to content

1

现在有一个对象数组,有一个需求,要根据日期渲染到element日历组件中。有两种实现方式

  • ...通用方法
  • ...特殊方法

*接下来讲解特殊方法的 数据结构转换

将对象数组的每一个数组元素(对象),作为键值对的值,放到一个新对象中。键值对的键名为数组元素(对象)的其中一个属性的值。

js
[
    {
        date:'2023-05-01',
        name:'看电影',
        other:'ohter'
    },
    {
        date:'2023-05-02',
        name:'玩游戏',
        other:'ohter'
    },
    {
        date:'2023-05-03',
        name:'弹钢琴',
        other:'ohter'
    },
    {
        date:'2023-05-03',
        name:'敲代码',
        other:'ohter'
    }
]
[
    {
        date:'2023-05-01',
        name:'看电影',
        other:'ohter'
    },
    {
        date:'2023-05-02',
        name:'玩游戏',
        other:'ohter'
    },
    {
        date:'2023-05-03',
        name:'弹钢琴',
        other:'ohter'
    },
    {
        date:'2023-05-03',
        name:'敲代码',
        other:'ohter'
    }
]

期望

js
{
    '2023-05-01':[
        {
            date:'2023-05-01',
            name:'看电影',
            other:'ohter'   
        }
    ],
    '2023-05-02':[
        {
            date:'2023-05-01',
            name:'看电影',
            other:'ohter'   
        }
    ],
    '2023-05-03':[
        {
            date:'2023-05-01',
            name:'弹钢琴',
            other:'ohter'   
        },
        {
            date:'2023-05-03',
            name:'敲代码',
            other:'ohter'   
        }
    ]
}
{
    '2023-05-01':[
        {
            date:'2023-05-01',
            name:'看电影',
            other:'ohter'   
        }
    ],
    '2023-05-02':[
        {
            date:'2023-05-01',
            name:'看电影',
            other:'ohter'   
        }
    ],
    '2023-05-03':[
        {
            date:'2023-05-01',
            name:'弹钢琴',
            other:'ohter'   
        },
        {
            date:'2023-05-03',
            name:'敲代码',
            other:'ohter'   
        }
    ]
}

算法