整数键中的javascript哈希映射

Nik*_*arg 0 javascript hashmap

我在javascript编码我需要HashMap类型结构.通常当我需要hashmaps时,我只会使用关联数组(将字符串作为键).但是这次我需要整数作为哈希图的关键.

因此,如果我尝试存储A [1000] = obj,则创建1001大小的数组并将A [1001]作为obj.即使我尝试A ["1000"] = obj,它仍然会分配1001个空格并使用undefined填充它们.

我不希望这样,因为我的钥匙可能非常大(大约1磨).我可以用它作为A ["dummy1000"] = obj,但我不想使用这种脏方法.

无论如何还要优雅而轻松地做到这一点?

Ski*_*ick 7

这样做A[1000] = 1不会产生具有1000个元素的数组.它创建一个长度属性为1001的数组对象,但这只是因为JavaScript数组中的length属性被定义为最大索引+ 1.

这样工作的原因是你可以做到的for(var i = 0; i < A.length; i++).

我看到你对阵列的分配感到困惑.对你而言,看起来JavaScript已经填充了未定义的元素 - 实际上没有任何东西,但如果你试图访问未定义的数组中的任何元素,你得到undefined.