Nous avions donc un cas où nous avions un objet, où la clé est l'id (int) et la valeur est la chaîne. Mais nous avons remarqué que la plupart du temps, nous recherchons l'identifiant en fonction de la chaîne de caractères, nous avons donc décidé d'inverser le processus et de faire de la chaîne de caractères la clé et de la valeur l'identifiant. De cette façon, au lieu de passer en revue chaque élément et de comparer les valeurs, nous pourrions simplement faire ce qui suit var id = storage[text];
. Vous trouverez ci-dessous des exemples de ce que nous avons fait.
Voici l'exemple de l'ancienne mise en œuvre :
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Voici l'exemple de la nouvelle mise en œuvre :
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Je comprends que maintenant la chaîne est la clé et qu'il est possible d'obtenir le même identifiant pour les mêmes chaînes. Mais comme maintenant la chaîne peut être potentiellement assez énorme (il y a peu de chance, mais probablement 1KB maximum par chaîne), Y a-t-il une limite de longueur que JS ou Android webview met sur les clés des objets ?
Et aussi, cette mise en œuvre présente-t-elle des inconvénients ? Je n'ai pas remarqué de problèmes jusqu'à présent, mais on ne sait jamais.