Menu
Coddy logo textTech

Проверка существования ключа

Часть раздела Основы путешествия по Dart на Coddy — урок 63 из 94.

Метод containsKey() проверяет, содержит ли карта конкретный ключ, и возвращает булевый результат. Это помогает убедиться в существовании ключа перед попыткой доступа к его значению.

Создайте карту оценок студентов:

Map<String, int> scores = {
  'Alice': 95,
  'Bob': 85,
  'Charlie': 90
};

Проверить наличие ключа в карте:

bool hasAlice = scores.containsKey('Alice');
print('Map contains Alice: $hasAlice');

После выполнения приведённого выше кода вывод будет следующим:

Map contains Alice: true

Проверьте наличие ключа, которого не существует:

bool hasDavid = scores.containsKey('David');
print('Map contains David: $hasDavid');

После выполнения приведенного выше кода вывод будет:

Map contains David: false
challenge icon

Задание

Новичок

В этом вызове вы попрактикуетесь в проверке существования ключа в Map с помощью метода containsKey. Этот метод возвращает true, если карта содержит указанный ключ, и false в противном случае.

Завершите код, чтобы проверить, содержит ли карта userInfo ключ 'email'. Если да, установите переменную message в 'Email found!'; в противном случае — в 'Email not found!'.

Ожидаемый вывод:

Email found!

Шпаргалка

Метод containsKey() проверяет, содержит ли карта конкретный ключ, и возвращает булево значение:

Map<String, int> scores = {
  'Alice': 95,
  'Bob': 85,
  'Charlie': 90
};

bool hasAlice = scores.containsKey('Alice');
print('Map contains Alice: $hasAlice'); // true

bool hasDavid = scores.containsKey('David');
print('Map contains David: $hasDavid'); // false

Попробуйте сами

void main() {
  // Эта карта уже определена для вас
  Map<String, String> userInfo = {
    'name': 'John',
    'email': 'john@example.com',
    'address': '123 Main St'
  };
  
  // TODO: Проверить, содержит ли карта userInfo ключ 'email'
  // Если содержит, установить message в 'Email found!'
  // Иначе установить message в 'Email not found!'
  String message = '';
  
  // Это выведет результат
  print(message);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы