Javascript数组索引基础
我不确定Javascript引擎(特别是浏览器引擎)如何存储数组 例如,这将使用多少内存Javascript数组索引基础,javascript,jquery,arrays,Javascript,Jquery,Arrays,我不确定Javascript引擎(特别是浏览器引擎)如何存储数组 例如,这将使用多少内存 var x = new Array(0, 1, 2, 1000, 100000000); 我想将整数日期映射为数组索引,但我需要确保这不是一个坏主意。数组只有两种方式是“特殊的”: 他们从原型中得到了一些有趣的类似数组的方法(“slice()”等) 他们有一个“magic”length属性,跟踪最大的数字属性“name” 如果您在一个全新的数组中的10299123位置存储了一些内容,那么运行时不会在分
var x = new Array(0, 1, 2, 1000, 100000000);
我想将整数日期映射为数组索引,但我需要确保这不是一个坏主意。数组只有两种方式是“特殊的”:
- 他们从原型中得到了一些有趣的类似数组的方法(“slice()”等)
- 他们有一个“magic”
属性,跟踪最大的数字属性“name”length
length
更新为10299124
现在,如果你说的是存储时间戳,那么日期的问题是(我认为)它们大于32位整数。数组索引仅限于该大小。然而,这意味着length
将不正确。如果您实际上并不关心任何数组内容,那么您真正需要的就是一个普通对象:
var dateStorage = {};
dateStorage[someDate.getTime()] = "whatever";
JavaScript对象可以用作名称-值映射,只要名称可以表示为字符串(这对于数字来说显然是正确的)。谢谢。我希望得到更多关于JS中阵列存储技术的回复。Unix时间戳是32位整数。JavaScript数字类型的主题非常奇怪和复杂。ECMA标准文档冗长乏味,但它对语言语义的描述非常清晰(如果详尽的话)。对我来说,数组的描述特别简单。