In the below code ,variable modelMap returns a map and I am iterating through that
var modelMap = parsedJson.values;
modelMap.forEach((element) {
modelName = element["ModelName"];
modelList.add(modelName) ;
});
Here I have to check if the previous iteration's element has a particular value and do my operations based on that.. for example if the pervious iteration has brandName equal to my current iteration's brandname then I will add the current model to the list.. if they are not equal I have to skip...Is it possible to do that?
You can just use some variable to save the previous. And compare to that. Here is an example where you don't take it if it is the same brandName
:
List result = [];
final list = [
{'brandName': 1},
{'brandName': 2},
{'brandName': 2},
{'brandName': 3},
{'brandName': 3},
{'brandName': 3},
{'brandName': 5},
{'brandName': 3},
{'brandName': 1},
{'brandName': 1},
{'brandName': 6}
];
dynamic previous;
list.forEach((element) {
if (previous?['brandName'] != element['brandName']) {
result.add(element);
}
previous = element;
});
print(result);
//[{brandName: 1}, {brandName: 2}, {brandName: 3}, {brandName: 5}, {brandName: 3}, {brandName: 1}, {brandName: 6}]