我们遇到了一个情况,我们有一个对象,其键是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是否对对象键设置长度限制?
此外,这种实现有什么缺点吗?到目前为止,我还没有注意到任何问题,但你永远不知道。