Как сгруппировать список из нескольких значений карт Flutter/Dart

#flutter #dart

Вопрос:

У меня есть следующий список:

 [
    {title: ‘Store 1’, address: ‘Current Location’, date: ‘10/01/2021’, name: ‘Alex’},
    {title: ’Store 3’, address: ’Mountain View, California, USA’, date: ‘10/01/2021’, name: ‘Louis’}
    {title: ‘Store 1‘, address: ‘Current Location’, date: ’10/01/2021’, name: ‘John’},
    {title: ‘Store 2’, address: ‘Mountain View, California, USA’, date: ’10/01/2021’, name: ‘Bill’} 
    {tilte: ‘Store 1’, address: ‘Cupertino, California, USA’, date: ’02/04/2021’, name: ‘George’}   
    {title: ‘Store 2’, address: ‘Mountain View, California, USA’, date: ’10/01/2021’, name: ‘Tom’}  
]
 

Я хочу написать код, который сгруппировал бы список в зависимости от того, совпадают ли название, адрес И дата. Остальные карты в списке должны оставаться в списке, но те, которые имеют одинаковые значения, должны быть сгруппированы сначала по названию, затем по адресу, а затем по дате. Я надеюсь, что это будет выглядеть примерно так:

 [
  {
     “Store 1”: [
    {
       “Current Location”: [
          {
            “10/01/2021”: [
               {
                  “name”: “Alex”
               },
               {
                  “name”: “John”
               }
            ]
          }
        ],
        “Cupertino, California, USA”: [
         {
            “02/04/2021”: [
              {
                 “name”: “George”
              }
            ]
            }
       ],
        },
    ],
      “Store 2”: [
       {
          “Mountain View, California, USA”: [
           {
               “10/01/2021”: [
                {
                “name”: “Bill”
                },
                {
                “name”: “Tom”
                }
            ]
           }
        ]
       }
    ],
      “Store 3”: [
        {
        “Mountain View, California, USA”: [
           {
            “10/01/2021”: [
                {
                “name”: “Louis”
                }
            ]
           }
        ]
        }
    ]
  }
]
 

Комментарии:

1. вы решили эту проблему?