I have this list of int
which has a length of 3
This is the list:
List<Tamount> integer= [
amount(amount: 2, id: '34'),
amount(amount: 4, id: '12'),
TotalAmount(amount: 2, id: '54'),
];
And I want to replace index 2 so the one with the amount of 4
I have tried this :
integer.isNotEmpty
? integer.remove(integer[1].id)
: null;
integers.insert(1, integer(
id: DateTime.now().toString(),
amount:34,
));
But it is not working ,for some reason it is not removing it from the list, but it is adding to the list.
If you know the index of the element you want to replace, you don't need to remove existing element from the List. You can assign the new element by index. Show activity on this post.
We can replace values inside the list using slicing. First, we find the index of variable that we want to replace and store it in variable 'i'. Then, we replace that item with a new value using list slicing.
You can replace many items with another item using the . replaceRange() method of the dart. You need to provide startIndex, endIndex, and a new list that contains items that need to be updated in the list. In the below example we are replacing items start from 0 indexes to 2 with new values.
In Dart, the List class has 4 methods that can help you find the index of a specific element in a list: indexOf: Returns the first index of the first element in the list that equals a given element. Returns -1 if nothing is found. indexWhere: Returns the first index in the list that satisfies the given conditions.
If you know the index of the element you want to replace, you don't need to remove existing element from the List. You can assign the new element by index.
integer[1] = amount(amount: 5, id: 'new_id');
You can do this:
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,
));
If you want to remove an item by using the index, you can use removeAt() method:
integer.isNotEmpty
? integer.removeAt(1) //removes the item at index 1
: null;
integers.insert(
1,
amount(
id: DateTime.now().toString(),
amount:34,
));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With