Dart Mapから条件を指定して削除する

Dart Mapから条件を指定して削除する

Dartで、条件を指定して削除コードを記述してます。「removeWhere」で条件を指定することで削除することができます。存在しない条件を指定してもエラーにはならず、何も削除されません。

環境

  • OS windows11 home
  • Dart 2.18.4

条件を指定して削除

条件を指定して削除するには
1. 「removeWhere」で「key」か「value」に条件を指定
することで可能です。

Map.removeWhere((key, value) => 条件);

実際に、使用して削除してみます。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  // 3以上のキーを削除
  map.removeWhere((key, value) => 3 <= key);

  print(map); // {1: one, 2: two}
}

実行結果を見ると、指定した条件が削除されていることが確認できます。

存在しないキーを指定

存在しないキーを指定した場合は、何も削除されません。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  // 4以上のキーを削除
  map.removeWhere((key, value) => 4 <= key);

  print(map); // {1: one, 2: two}
}

キーを指定して削除

キーを指定して削除する場合は「remove」を使用します。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  map.remove(1);

  print(map); // {2: two, 3: three}

  map.remove(2);

  print(map); // {3: three}
}