Javascript-搜索不同的对象数组后创建新对象

时间:2018-11-28 17:14:42

标签: javascript node.js json express mongoose

我有一系列的日期,如下所示...

dateArray : 2018-12-15,2018-11-20,2018-12-20

我有一个对象数组,如下所示...

{ _id: 5bf454d9c4a8bc6e246afd05,
 date: '2018-12-15',
 time: '9:00 - 10:00',
 status: 'available',
 price: 35 },
{ _id: 5bf455adf678f76f7ffb9144,
 date: '2018-11-20',
 time: '15:00 - 16:00',
 status: 'available',
 price: 55 },
{ _id: 5bf455caf678f76f7ffb914b,
 date: '2018-11-20',
 time: '12:00 - 13:00',
 status: 'available',
 price: 45 },
{ _id: 5bfec692d25d720f29eb49e1,
  date: '2018-12-20',
  time: '9:00 - 10:00',
  status: 'available',
  price: 33 }

我想做的是获取dateArray中的每个日期值,在对象数组中搜索该日期,然后返回具有这种结构的新对象...

{
"date": "2018-12-15",
"timePrice": [
    {
        "time": "9:00 - 10:00",
        "price": 35
    }
    ],
}{
"date": "2018-11-20",
"timePrice": [
    {
        "time": "12:00 - 13:00",
        "price": 45
    },
    {
        "time": "15:00 - 16:00",
        "price": 55
    },

   ]
}

基本上,我想按一个唯一的日期分组,然后在每个日期内嵌套对象,其中包含该日期的时间。有什么想法可以解决吗?

1 个答案:

答案 0 :(得分:0)

您可以cudaArray遍历日期,然后对于每个日期,reduce()要构建新对象的项目:

filter()