Dart中如何从嵌套Map删除指定键值对?Flutter新手咨询
在Flutter中删除嵌套Map的指定键值对
针对你给出的嵌套Map结构,要删除"studet1"里的"name"键值对,直接操作内层Map即可,核心用Map的remove()方法:
具体实现方式
先通过外层Map的键"studet1"定位到内层Map,再调用内层Map的remove()方法传入目标键"name":
Map data = { "studet1": {"name": "ajk", "age": "22", "place": "delhi"}, "studet2": {"name": "akmal", "age": "25", "place": "up"} }; // 删除studet1中的name键值对 data["studet1"]?.remove("name"); // 打印验证结果 print(data);
关键细节说明
remove(key)方法会移除Map中指定键对应的键值对,同时返回被移除的值(若键存在);如果目标键不存在,方法返回null,不会触发报错。- 代码里的
?.是Dart的空安全运算符,用来避免"studet1"这个键不存在时出现空指针异常,让代码更健壮。
如果不想改动原Map,也可以先复制一份再操作:
Map newData = Map.from(data); newData["studet1"]?.remove("name");
内容的提问来源于stack exchange,提问作者Muhammed Ajmal
相关产品推荐
相关产品推荐

