如何在Javascript中初始化带有整数键的静态值哈希映射
How to initialize a hashmap of static values with integer keys in Javascript?
初始化具有字符串键的映射可以在Javascript中执行如下操作:
var xxx = {
"aaa" : ["a1","a2","a3"],
"bbb" : ["b1","b2","b3"],
"ccc" : ["c1","c2","c3"],
...
};
我需要用整数键初始化一些映射,比如:
var xxx = {
0 : ["a1","a2","a3"],
1 : ["b1","b2","b3"],
2 : ["c1","c2","c3"],
...
};
当然,我可以使用这样的数组:
xxx[0]=["a1","a2","a3"];
xxx[1]=["b1","b2","b3"];
xxx[2]=["c1","c2","c3"];
...
但问题是它使得初始化代码很长。我需要从中挤出我能压缩的所有字节,因为我需要在用户端推送这个对象和任何保存的字节计数。
xxx
对象需要用n个数组初始化,并且每个条目都有一个在0和n-1之间的唯一关联id。因此,在我可以使用的id和数组之间有一个一对一的映射,这些id从0到n-1是连续的,这让我认为我可以使用数组而不是Javascript的"映射"。
我注意到,可以将对象推入数组。也许我可以用这样的东西:
var xxx = [];
xxx.push(["a1","a2","a3"],["b1","b2","b3"],["c1","c2","c3"],...);
这是实现我的目标的合适方式吗?还是Javascript中有更聪明的东西?谢谢
p.S.:稍后,xxx
将被xxx[2]
、xxx[10]
等引用…
这让我觉得比使用字符串或整数键更干净,除非你需要在xxx
:上添加额外的属性
var xxx = [
["a1","a2","a3"],
["b1","b2","b3"],
["c1","c2","c3"]
//...
];
只需将xxx
制作成一个包含数组的数组即可。您可以通过xxx[1][2]
(因为xxx[1] == ["b1", "b2", "b3"]
)到达,比如说"b3"。
相关文章:
- 如何在映射数组中添加换行符
- ng映射方向备选方案
- 无法通过数组映射绑定
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 如何处理10页以上的静态页眉/页脚
- 使用Scala Play Framework视图中的键检索映射值
- Grunt-connect在根目录之外提供静态文件
- 来自文档或下一个静态父级的事件委派
- 淘汰映射;不起作用
- JavaScript命名约定;静态“;类或模块
- 无法理解JavaScript中的静态方法
- 使用主干网和rails的静态页面路由
- 映射数组ES6时考虑空值
- Lodash映射并返回唯一
- 如何对映射插件创建的敲除对象进行深度复制
- Javascript,从静态函数中打印全局对象
- 从ajax post与静态数据中剔除映射数据
- 在将静态资源切换到CDN后,谷歌在Chrome+Firefox中映射错误,在Safari中很好:
- 如何在Javascript中初始化带有整数键的静态值哈希映射
- 使用String键和String值声明静态Javascript映射的正确方法