#flutter #dart
#флаттер #дротик
Вопрос:
У меня есть этот список int
, длина которого равна 3
Это список:
List<Tamount> integer= [
amount(amount: 2, id: '34'),
amount(amount: 4, id: '12'),
TotalAmount(amount: 2, id: '54'),
];
И я хочу заменить индекс 2 таким образом, чтобы он был равен 4
Я пробовал это :
integer.isNotEmpty
? integer.remove(integer[1].id)
: null;
integers.insert(1, integer(
id: DateTime.now().toString(),
amount:34,
));
Но он не работает, по какой-то причине он не удаляет его из списка, но добавляет в список.
Ответ №1:
Если вы знаете индекс элемента, который хотите заменить, вам не нужно удалять существующий элемент из списка. Вы можете назначить новый элемент по индексу.
integer[1] = amount(amount: 5, id: 'new_id');
Комментарии:
1. после 5 лет программирования я забыл некоторые основы XD. Спасибо.
2. @evals мы все пришли к одному и тому же выводу xD
Ответ №2:
Вы можете сделать это:
integer.isNotEmpty
? integer.removeWhere((item)=>item.amount == 4) //removes the item where the amount is 4
: null;
integers.insert(
1,
amount(
id: DateTime.now().toString(),
amount:34,
));
Если вы хотите удалить элемент с помощью индекса, вы можете использовать метод RemoveAt():
integer.isNotEmpty
? integer.removeAt(1) //removes the item at index 1
: null;
integers.insert(
1,
amount(
id: DateTime.now().toString(),
amount:34,
));
Комментарии:
1. и как бы вы это сделали, если список динамический, и вы не знаете количество, а знаете только индекс, который хотите заменить
2. Вы можете использовать метод RemoveAt() в списке и передать ему индекс. Я обновил свой ответ