#flutter #dart #flutter-dependencies #flutter-test #dart-pub
Вопрос:
У меня есть проблема в моей программе по дартсу. Вот список смайликов:
[[🐃, 💧, 💦], [], [🌵, 🎄, 🌲], [], [], []] //List
Внутри списка есть несколько списков (как вы можете видеть). Я хочу удалить пустые списки []
. Также я хочу присоединиться [🐃, 💧, 💦, 🌵, 🎄, 🌲] в единый список.
Комментарии:
1. проверка
List.where
иList.fold
/List.reduce
методы — подробнее: Повторяющиеся коллекции2. Не Работает. Можете Ли Вы Объяснить мне Лучше
3.
List<List> l = [[1,2,3], [], [4,5], [], [6]]; var merged = l.reduce((a, b) => a b); print(merged);
4.
var flattened = [for (var sublist in list) ...sublist];
Ответ №1:
Полное Решение:
var data = [['🐃', '💧', '💦'], [], ['🌵', '🎄', '🌲'], [], [], []];
void main() {
var newData = data.expand((x) => x).toList();
print(newData);
}
Вот newData
ваш окончательный ответ: [🐃, 💧, 💦, 🌵, 🎄, 🌲]
.
Комментарии:
1. Это очень помогло, Но не могли бы Вы объяснить мне, почему в этом списке используется «x»
2. Здесь
x
относится к отдельному элементу вашегоdata
списка. Вы можете посмотреть здесь .3. Например, «я» у нас в петлях?
4. Вы не можете сказать
i
, потомуi
что ссылается на индекс в основном в цикле. Здесьx
показан этот отдельный элемент. Для вашего данного случая на первой итерации значениеx
будет равно['🐃', '💧', '💦']
, на второй итерации значениеx
будет равно[]
, для третьей['🌵', '🎄', '🌲']
и так далее.
Ответ №2:
Вы можете сделать это в одной строке:
yourData.expand((x) => x).toList();
Комментарии:
1. Люблю тебя, Большое спасибо, это мне так помогло