Если вы будете делать это несколько раз для одних и тех же данных, вы должны создать обратную карту, чтобы вы могли выполнять простой поиск по ключу вместо повторных линейных поисков. Вот пример обращения карты (могут быть более простые способы сделать это):
main() {
var orig = {"01": "USD", "17": "GBP", "33": "EUR"};
var reversed = Map.fromEntries(orig.entries.map((e) => MapEntry(e.value, e.key)));
for (var kv in reversed.entries) {
print(kv);
}
}
Редактировать: да, карта может быть просто:
var reversed = orig.map((k, v) => MapEntry(v, k));
Наконечник шляпы Джо Конвею на блеске. Спасибо.