gpt4 book ai didi

Javascript 数组索引基础

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:15 24 4
gpt4 key购买 nike

我不确定 Javascript 引擎(特别是浏览器引擎)如何存储数组。

例如 - 这会使用多少内存?

var x = new Array(0, 1, 2, 1000, 100000000);

我想将整数日期映射为数组索引,但我需要确保这不是一个坏主意。

最佳答案

数组的“特殊”之处仅在于几个方面:

  • 他们从他们的原型(prototype)(“slice()”等)中获得了一些有趣的类数组方法
  • 他们有一个“神奇的”length 属性,可以跟踪最大的数字属性“name”

如果您将某些内容存储在全新数组中的位置 10299123 处,运行时不会耗尽您分配实际空数组的所有内存。相反,它会存储您想要存储的任何内容,并确保 length 更新为 10299124。

现在,如果您谈论的是存储时间戳,则具体与日期有关的问题是(我认为)它们大于 32 位整数。数组索引限于该大小。然而,这意味着 length 将不正确。如果你真的不关心数组的任何东西,那么你真正需要的只是一个普通对象:

var dateStorage = {};

dateStorage[someDate.getTime()] = "whatever";

只要名称可以表示为字符串(这对于数字显然是正确的),JavaScript 对象就可以用作名称-值映射。

关于Javascript 数组索引基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com