为了账号安全,请及时绑定邮箱和手机立即绑定

如果日期匹配,则将项推送到数组中 - 脚本/类型脚本

如果日期匹配,则将项推送到数组中 - 脚本/类型脚本

哆啦的时光机 2022-09-23 17:35:00
做空数组以显示它们相对于日期,就像我所做的那样 - 徒步旅行,在2020-05-10购物和徒步旅行,在2020-05-10上足球和其他日期类似。 const items = [ {title: 'Hiking', date: new Date('2020-05-10')}, {title: 'Shopping', date: new Date('2020-05-10')}, // {title: 'Hiking', date: new Date('2020-05-22')}, {title: 'Football', date: new Date('2019-05-22')}, // {title: 'Football', date: new Date('2020-05-28')}, {title: 'Hiking', date: new Date('2020-05-28')}, {title: 'Cricket', date: new Date('2020-05-28')},];
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您需要使用 。reduce()


var items = [ {title: 'Hiking', date: new Date('2020-05-10')}, {title: 'Shopping', date: new Date('2020-05-10')},{title: 'Hiking', date: new Date('2020-05-22')}, {title: 'Football', date: new Date('2020-05-22')}, {title: 'Football', date: new Date('2020-05-28')}, {title: 'Hiking', date: new Date('2020-05-28')}, {title: 'Cricket', date: new Date('2020-05-28')}];


var result = items.reduce((acc, {title, date})=>{

    dateKey = new Date(date).toISOString().slice(0,10);

    acc[dateKey] = acc[dateKey] || [];

    acc[dateKey].push({title});

    return acc;

},{});


console.log(result);


查看完整回答
反对 回复 2022-09-23
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

试试这个


let items = [

      {title: 'Hiking', date: new Date('2020-05-10')},

      {title: 'Shopping', date: new Date('2020-05-10')},

      {title: 'Hiking', date: new Date('2020-05-22')},

      {title: 'Football', date: new Date('2019-05-22')},

      {title: 'Football', date: new Date('2020-05-28')},

      {title: 'Hiking', date: new Date('2020-05-28')},

      {title: 'Cricket', date: new Date('2020-05-28')},

     ];


    items.sort(function(a,b){

      return a.date - b.date;

    });

    console.log(items);


查看完整回答
反对 回复 2022-09-23
  • 2 回答
  • 0 关注
  • 52 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信