Wir hatten also einen Fall, in dem wir ein Objekt hätten, in dem der Schlüssel id (int) und der Wert die Zeichenfolge ist. Wir haben jedoch festgestellt, dass wir die ID meistens anhand der Zeichenfolge nachschlagen. Daher haben wir beschlossen, sie umzukehren und eine Zeichenfolge zum Schlüssel zu machen, und der Wert ist die ID. Denn auf diese Weise könnten wir einfach jedes Element durchgehen und Werte vergleichen var id = storage[text];
. Nachfolgend finden Sie Beispiele dafür, was wir getan haben.
Hier ist das Beispiel der alten Implementierung:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Hier ist das Beispiel der neuen Implementierung:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Ich verstehe, dass jetzt die Zeichenfolge der Schlüssel ist und es in Ordnung ist, dieselbe ID für dieselben Zeichenfolgen zu erhalten. Aber da die Zeichenfolge jetzt möglicherweise ziemlich groß sein kann (geringe Wahrscheinlichkeit, aber wahrscheinlich maximal 1 KB pro Zeichenfolge), gibt es eine Längenbeschränkung, die JS oder Android Webview für die Objektschlüssel festlegen?
Und hat diese Implementierung auch Nachteile? Ich habe bisher keine Probleme bemerkt, aber Sie wissen es nie.