因此,我们有一个对象,键是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
}
我知道,现在字符串是关键,并且可以为相同的字符串获取相同的ID。但是由于现在字符串可能非常巨大(机会很小,但每个字符串最大可能为1KB),因此对对象键是否设置了长度限制JS或Android Webview?
而且,此实现是否有缺点?到目前为止,我还没有发现任何问题,但是您永远不会知道。