Итак, у нас был случай, когда у нас был бы объект, где ключ - это id (int), а значение - это строка. Но мы заметили, что в большинстве случаев мы ищем идентификатор на основе строки, поэтому мы решили отменить его и сделать строку ключом, а значение - идентификатором. Потому что таким образом, вместо того, чтобы просматривать каждый элемент и сравнивать значения, мы могли бы просто сделать var id = storage[text];
. Ниже приведены примеры того, что мы сделали.
Вот пример старой реализации:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Вот пример новой реализации:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Я понимаю, что теперь строка является ключом, и можно получить тот же идентификатор для тех же строк. Но поскольку теперь строка может быть потенциально довольно большой (небольшая вероятность, но, вероятно, максимум 1 КБ на строку), существует ли ограничение длины, которое JS или Android webview накладывает на ключи объекта?
А также есть ли у этой реализации недостатки? Пока я не заметил никаких проблем, но как знать.