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