Entonces tuvimos un caso en el que tendríamos un objeto, donde la clave es id (int) y el valor es la cadena. Pero notamos que la mayoría de las veces, buscamos id basándonos en la cadena, así que decidimos revertirla y hacer de una cadena la clave y el valor es la id. Porque de esa manera en lugar de revisar cada elemento y comparar valores, podríamos hacerlo var id = storage[text];
. A continuación se muestran los ejemplos de lo que hicimos.
Aquí está el ejemplo de la implementación anterior:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Aquí está el ejemplo de la nueva implementación:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Entiendo que ahora la cadena es la clave y está bien obtener la misma identificación para las mismas cadenas. Pero dado que ahora la cadena puede ser potencialmente bastante grande (posibilidad mínima, pero probablemente un máximo de 1 KB por cadena), ¿hay un límite de longitud que JS o Android webview pone en las claves de objeto?
Y además, ¿esta implementación tiene desventajas? No he notado ningún problema hasta ahora, pero nunca se sabe.