Элемент
forEach
не может изменить фактический элемент в списке. Предположим, этот код:
var list = [false, true, false, false];
list.forEach((item) {
item = false;
});
print("List: $list");
Вывод по-прежнему:
List: [false, true, false, false]
Итак, вы можете использовать индексированный for
:
for (int i=0; i < list.length; i++) {
list[i] = false;
}
Или сопоставьте и переназначьте его:
var list = [true, true, false];
list = list.map((item) {
return false;
}).toList();
Вы получите:
List: [false, false, false, false]