Таким образом, у нас был случай, когда у нас был бы объект, где ключ - это id (int), а значение - это строка. Но мы заметили, что в большинстве случаев мы ищем id на основе строки, поэтому мы решили изменить его и сделать строку ключом, а значение - id. Так как вместо того, чтобы проходить через каждый элемент и сравнивать значения, мы могли бы просто сделать 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 накладывает на объектные ключи?
А также, имеет ли эта реализация недостатки? Я не заметил никаких проблем до сих пор, но вы никогда не знаете.