我有这种类型的列表
List<Map> data = [{1: false}, {2: false}, {5: false}, {6: false}]
我想只更新真/假值
List<Map> afterUpdates= [{1: true}, {2: false}, {5: false}, {6: true}]
lg40wkob1#
您可以通过以下简单的3个步骤来完成1.查找要更新的元素1.在数组中找到该元素的索引并更新它1.使用找到的索引替换数组中的元素下面是一个简单逻辑,您可以在dartpad上测试它
void main() { List<Map<int, bool>> data = [{1: false}, {2: false}, {5: false}, {6: false}]; updateKey(key,val){ print("before"); print(data); var element= data.firstWhere((k)=>k.keys.contains(key),orElse:()=>{}); var index = data.indexOf(element); print("index"); print(index); element.update(key,(v)=>val); data[index]=element; print("after"); print(data); } updateKey(1,true); updateKey(6,true); }
void main() {
List<Map<int, bool>> data = [{1: false}, {2: false}, {5: false}, {6: false}];
updateKey(key,val){
print("before");
print(data);
var element= data.firstWhere((k)=>k.keys.contains(key),orElse:()=>{});
var index = data.indexOf(element);
print("index");
print(index);
element.update(key,(v)=>val);
data[index]=element;
print("after");
}
updateKey(1,true);
updateKey(6,true);
mfuanj7w2#
data.update(index, (value) => true);
通过循环更改索引
2条答案
按热度按时间lg40wkob1#
您可以通过以下简单的3个步骤来完成
1.查找要更新的元素
1.在数组中找到该元素的索引并更新它
1.使用找到的索引替换数组中的元素
下面是一个简单逻辑,您可以在dartpad上测试它
mfuanj7w2#
通过循环更改索引