Dart удалить список элементов формы, если значение равно другому значению - PullRequest
0 голосов
/ 20 апреля 2020

Привет, у меня есть список List<ProductDetails> вот так я хочу удалить товар, если цена равна другим

1 Золото 1 $ 5 Золото 1 $ 10 Золото 1 $

ProductDetails(
      {@required this.id,
      @required this.title,
      @required this.description,
      @required this.price,
      this.skProduct,
      this.skuDetail});

Я хочу чтобы убрать 1 золото и 5 золота просто покажите 10 золота, как я могу это сделать?

Я отсортировал список вот так

List<ProductDetails> _productsSorted = _products
      ..sort((a, b) => a.price.compareTo(b.price));

Спасибо

1 Ответ

1 голос
/ 20 апреля 2020

Во-первых, библиотека импорта коллекции;

import "package:collection/collection.dart";

во-вторых, используйте метод groupBy для группировки элемента списка по цене;

Map<dynamic, List> _grouped = groupBy(_products, (p) => p.price);

, наконец, создайте новый список из первого элемента каждого значения карты _grouped;

List _lastList = [];

_grouped.values.forEach((f) => _lastList.add(f.first));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...