所以我们有一个例子,我们会有一个对象,其中键是 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 是否对对象键设置了长度限制?
而且,这个实现有缺点吗?到目前为止我还没有注意到任何问题,但你永远不知道。