Flutter 如何从Dart中移除if-else链?

Flutter 如何从Dart中移除if-else链?,flutter,if-statement,dart,Flutter,If Statement,Dart,我在颤振应用程序中有一个很大的if-else链,它检查标题列表中的一系列条件。我试图找出如何在没有这一系列if-else语句的情况下处理这样一个链。地图是合适的,还是简单的开关盒 if (listOfMaps[i]["title"] == "BPM LOW" && !activeAlarms.contains("BPM LOW")) { activeAlarms.add("BPM LOW

我在颤振应用程序中有一个很大的if-else链,它检查标题列表中的一系列条件。我试图找出如何在没有这一系列if-else语句的情况下处理这样一个链。地图是合适的,还是简单的开关盒

if (listOfMaps[i]["title"] == "BPM LOW" && !activeAlarms.contains("BPM LOW")) {
            activeAlarms.add("BPM LOW");
          } else if (listOfMaps[i]["title"] == "BPM HIGH" && !activeAlarms.contains("BPM HIGH")) {
            activeAlarms.add("BPM HIGH");
          } else if (listOfMaps[i]["title"] == "PIP LOW" &&
              !activeAlarms.contains("PIP LOW")) {
            activeAlarms.add("PIP LOW");
          } else if (listOfMaps[i]["title"] == "PIP HIGH" &&
              !activeAlarms.contains("PIP HIGH")) {
            activeAlarms.add("PIP HIGH");
          }
for(列表地图中的最终数据){
最终标题=数据[“标题”];
如果(!activeAlarms.contains(标题)){
activeAlarms.add(标题);
}
}
这里有一些代码。
和输出:

flutter: listOfMaps:  
flutter: [{title: BPM LOW}, {title: BPM HIGH}, {title: PIP LOW}, {title: PIP HIGH}]  
flutter: activeAlarms before:  
flutter: [BPM HIGH]  
flutter: activeAlarms after:  
flutter: [BPM HIGH, BPM LOW, PIP LOW, PIP HIGH]   

就我个人而言,我会在第一个
if
之前将
listofmap[I][“title”]
的结果保存在一个局部变量中,以便于阅读,并在数组和映射中保存大量查找。值得一提的是,3个否则的ifs几乎不是一个“巨大的链”,特别是在保证不同条件的情况下。请注意,如果
listofmap[i]['title']
有其他可能的值,则情况并不完全相同。
flutter: listOfMaps:  
flutter: [{title: BPM LOW}, {title: BPM HIGH}, {title: PIP LOW}, {title: PIP HIGH}]  
flutter: activeAlarms before:  
flutter: [BPM HIGH]  
flutter: activeAlarms after:  
flutter: [BPM HIGH, BPM LOW, PIP LOW, PIP HIGH]