Menu
CoddyTech

检查键是否存在

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 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

挑战

入门

在这个挑战中,你将练习使用 containsKey 方法检查 Map 中是否存在某个键。如果 Map 中包含指定的键,这个方法会返回 true,否则会返回 false。

补全代码,检查 userInfo Map 中是否包含键 'email'。如果包含,将 message 变量设为 '<code>Email found!';否则,将它设为 'Email not found!'。

预期输出:

Email found!

亲手试试

void main() {
  // 这个映射已经为你定义好了
  Map<String, String> userInfo = {
    'name': 'John',
    'email': 'john@example.com',
    'address': '123 Main St'
  };
  
  // TODO:检查 userInfo 映射中是否包含键 'email'
  // 如果包含,就将 message 设置为说明中指定的原文
  // 否则,将 message 设置为 'Email not found!'
  String message = '';
  
  // 这里会显示结果
  print(message);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Dart 在线编译器