List 省道贴图,如何替换列表中的特定键值<;地图>;基于它的密钥id? void main(){ 列出产品=[ {'id':24,'时间':'2019-11-24 00:00:00.000'}, {'id':36,'时间':'2019-11-23 00:00:00.000'}, {'id':48,'时间':'2019-11-24 00:00:00.000'}, ];

List 省道贴图,如何替换列表中的特定键值<;地图>;基于它的密钥id? void main(){ 列出产品=[ {'id':24,'时间':'2019-11-24 00:00:00.000'}, {'id':36,'时间':'2019-11-23 00:00:00.000'}, {'id':48,'时间':'2019-11-24 00:00:00.000'}, ];,list,flutter,dictionary,dart,List,Flutter,Dictionary,Dart,在上面的代码中,我想将“id”48的“时间”条目“2019-11-24 00:00:00.000”替换为“2019-10-26 00:00:00.000”。您可以尝试以下方法: void main() { List<Map<String, dynamic>> products = [ {'id': 24, 'time': '2019-11-24 00:00:00.000'}, {'id': 36, 'time': '2019-11-23 00:00:0

在上面的代码中,我想将“id”48的“时间”条目“2019-11-24 00:00:00.000”替换为“2019-10-26 00:00:00.000”。

您可以尝试以下方法:

void main() {
  List<Map<String, dynamic>> products = [
    {'id': 24, 'time': '2019-11-24 00:00:00.000'},
    {'id': 36, 'time': '2019-11-23 00:00:00.000'},
    {'id': 48, 'time': '2019-11-24 00:00:00.000'},
  ];

以下是另一种方法:

void main(){
列出产品=[
{'id':24,'时间':'2019-11-24 00:00:00.000'},
{'id':36,'时间':'2019-11-23 00:00:00.000'},
{'id':48,'时间':'2019-11-24 00:00:00.000'},
];
products=products.map((产品){
如果(产品[“id”]==48){
返回{…产品,'时间':'2019-10-26 00:00:00.000';
}
退货产品;
}).toList();
打印(products.toString());
}

@Akif,你的回答真的很有用。谢谢你,@Ketan Ramteke:)如果id是唯一的,那么你的数据结构就错了。它应该是一个以id为键的单一映射。替换它将是一个简单的赋值。迭代列表以查找特定的一个几乎总是一种代码味道。谢谢亲爱的,“返回”{……产品,‘时间’:‘2019-10-26 00:00:00.000’;“为我工作:)很高兴它有帮助,很高兴编码。
   products.where((x) => x["id"] == 48).first["time"] = "2019-10-26 00:00:00.000";