用于int-string对的高性能JS映射

Raj*_*pta 3 javascript jquery dictionary

我需要在Javascript(hashmap或其他)中映射intstring(s)的高性能映射.dom准备好后,地图将用于构建网页的某些部分.我知道简单的javascript对象也像地图一样工作,但我需要以最佳性能工作.

我想通过在网页上附加字符串同时从服务器生成响应页面来一次初始化所有数据对的地图.

有什么方法可以提高jtring map对int-string对的性能,还是有相同的实现?

-

使用jQuery 1.7

sou*_*eck 7

好的,我会在这里发布,因为它更像是一个答案:

使用数组.考虑到任何实现都必须使用js原语和对象,你将很难找到比这更高效的东西.

大多数(所有?)javascript实现中的数组可能很稀疏.所以array.length将返回最后一个元素的索引+ 1,但是在稀疏的情况下,数组将不会分配所有元素,并将使用对象属性语义来访问它的元素(意思是,它实际上是一个带有整数作为键的哈希表).

它基本上为您提供了您正在寻找的行为.

如果是负数,请使用第二个数组.

关于单个语句初始化:通常不能这样做,因为它基于隐式知道项索引.

你可以做的是附加一些东西:

 var arr = [];

 arr[int1] = val1;
 arr[int2] = val2;
 arr[int3] = val3;
 arr[int4] = val4;
 ...
 arr[intn] = valn;
Run Code Online (Sandbox Code Playgroud)

我的意思是你必须以某种方式列出(数字,字符串)对.