Hat die Map-Klasse in Dart eine Möglichkeit, case zu ignorieren, wenn der Schlüssel eine Zeichenkette ist?Dart Map mit String key, vergleichen mit ignore case
Eg.
var map = new Map<String, int>(/*MyComparerThatIgnoresCase*/);
map["MyKey"] = 42;
var shouldBe42 = map["mykey"];
In C# nimmt der Dictionary-Konstruktor einen Vergleich wie der Kommentar oben. Was ist der kanonische Weg, dies in Dart zu tun?
Wenn Sie neue Karte() tun, erhalten Sie tatsächlich eine LinkedHashMap. Dies kann in der Factory-Contructor für Map (Factory Map() = LinkedHashMap ;) –
Es gibt eine Funktion in Köcher, die gleich tut beim Ignorieren von Fall. Die aktuelle Implementierung macht sie nur in Kleinbuchstaben, aber es könnte besser sein, das zu verwenden als eigene. Der Code wird dann: 'import 'Paket: quiver/strings.dart';' 'neue LinkedHashMap> (entspricht: equalsIgnoreCase, hashCode: (String k) => k.toLowerCase(). HashCode) ; ' –