Возникли проблемы при удалении повторяющихся предметов из списка в дротике - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу удалить повторяющиеся элементы, но не нашел никакого способа

List items = data
            .where((test) =>
                test["title"].toLowerCase().contains(query.toLowerCase()) ||
                test["ingredients"].toLowerCase().contains(query.toLowerCase()) ||
                test["keywords"].toLowerCase().contains(query.toLowerCase()) ||
                test["author"].toLowerCase().contains(query.toLowerCase())).toSet()
            .toList();

здесь вывод с дублированием

[{ингредиенты: плюс дополнительно для выкатывания (нам нравится Райтс), ключевые слова: хлеб, автор: Good Food, название: острая пицца, recipe_ID: 28}, {ингредиенты: плюс дополнительно для выкатывания (нам нравится Райтс), ключевые слова: Индийская, автор: Good Food, название: острая пицца, recipe_ID: 28}, {ингредиенты: плюс дополнительно для выкатывания (нам нравится Райтс), ключевые слова: Midweek, автор: Good Food, название: острая пицца, recipe_ID: 28}]

поэтому я хочу удалить эти дубликаты, есть ли какой-нибудь метод, например друг?

1 Ответ

0 голосов
/ 08 апреля 2020

Проверьте это SO thread . Для вашего случая:

var items = [
  test["title"],
  test["ingredients"],
  test["keywords"],
  test["author"]
]

var distinctItems = items.toSet().toList();

ПРИМЕЧАНИЕ: Выше я создал список статически для простоты. Вы должны создать это динамически. Если вы не хотите различать guish между строчными и заглавными буквами, вам также следует позаботиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...