Проверка существования ключа
Часть раздела Основы путешествия по 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Задание
НовичокВ этом вызове вы попрактикуетесь в проверке существования ключа в 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);
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числа