Muhammed Ajmal
Muhammed Ajmal

Reputation: 85

How remove the specific value from map in dart?

I am Beginner in flutter, learning map concept. I am confusing map methods. How to delete a specific value from a map?

for example:

Map data = {
  "studet1": {"name": "ajk", "age": "22", "place": "delhi"},
  "studet2": {"name": "akmal", "age": "25", "place": "up"}
};

I want to delete the "name" from "student1".

Upvotes: 2

Views: 780

Answers (2)

Anandh Krishnan
Anandh Krishnan

Reputation: 5984

If you want to remove only student1 name

Just use data['student1'].remove('name');

Or if you want to remove all students name use the bleow method

   Map data = {
      "studet1": {"name": "ajk", "age": "22", "place": "delhi"},
      "studet2": {"name": "akmal", "age": "25", "place": "up"}
    };
    for (int i = 0; i <= data.length - 1; i++) {
      data[data.keys.elementAt(i)].remove('name');
    }

The output will be

{student1: {age: 22, place: delhi}, student2: {age: 25, place: up}}

Upvotes: 2

MendelG
MendelG

Reputation: 20038

data is a nested map, which means that it has another map within the key of student1.

You can use the .remove method to remove a key within a map:

Removes key and its associated value, if present, from the map.

void main() {
  Map data ={
    "student1":{
      "name" : "ajk",
      "age":"22",
      "place":"delhi"

    },
    "student2":{
      "name" : "akmal",
      "age":"25",
      "place":"up"

    }
  };
  
  data['student1'].remove('name');
  print(data);
}

Prints:

{student1: {age: 22, place: delhi}, student2: {name: akmal, age: 25, place: up}}

Upvotes: 7

Related Questions