#list #flutter #dart #add
#Список #flutter #dart #Добавить
Вопрос:
Мне нужно создать новый список ‘filteredSlots’, в котором будут слоты из списка ‘slotlist’, который имеет свою доступность, и для его доступности последовательных слотов также установлено значение true.
Но я получаю сообщение об ошибке для add(). Пожалуйста, помогите мне решить эту проблему
class Slot {
String time;
bool isAvailable;
Slot({this.time, this.isAvailable});
}
class FilterSlots {
List<Slot> slotlist = [
Slot(time: '10:00', isAvailable: true),
Slot(time: '10:30', isAvailable: false),
Slot(time: '11:00', isAvailable: true),
Slot(time: '11:30', isAvailable: true),
Slot(time: '12:00', isAvailable: true),
Slot(time: '12:30', isAvailable: false),
Slot(time: '13:00', isAvailable: true),
];
List<Slot> filteredSlots = [];
List<Slot> filterSlots() {
for (var i = 0; i < slotlist.length - 1; i ) {
if ((slotlist[i].isAvailable) amp; (slotlist[i 1].isAvailable)) {
filteredSlots = filteredSlots.add(slotlist[i]);
}
}
return filteredSlots;
}
}
//Expected output,
List<Slot> filteredslots = [
Slot(time: '11:00', isAvailable: true),
Slot(time: '11:30', isAvailable: true),
];
Комментарии:
1. почему вы не используете метод List.where ?
2. пожалуйста, вы можете объяснить мне, как использовать это для моей проблемы. Я новичок в порхании и метании дротиков
3. dart.dev/codelabs/iterables#фильтрация
4. я не могу передать индекс 1 в операторе where. он показывает ошибку
5. упс, извините, я перепутал, вы тоже используете этот элемент «next» … попробуйте удалить
filteredSlots =
из цикла
Ответ №1:
создайте bool isAvailable;
статическую переменную static bool isAvailable;