首页 > 解决方案 > 您可以创建的数组的限制是多少?

问题描述

您可以创建的数组的限制是多少?是否有浏览器上限或限制?

这个想法是我想为每个员工信息动态创建一个数组(包括姓名、活动目录、员工编号等......)

遍历员工列表并创建数组:

window["arr_" + employee number]

然后当用户需要它时,我的代码将根据他们的员工编号调用数组名称。该按钮具有 empn 作为属性,因此我可以传递它:

console.log( window["arr_" + empn] )

我担心我会有更多的员工允许我创建数组。

标签: javascriptarraysdynamic-arrays

解决方案


要回答您提出的问题,您的问题不是您可以在数组中存储多少东西的理论限制,而是您将开始耗尽内存或站点太慢的实际限制。100,000 可能是一个很好的经验法则。

但这里也存在很多其他问题。首先,

window["anything"]

不是数组,它是窗口对象的属性。并且 window 对象绝对是存储员工列表的错误位置。用这么少的信息很难说,但你可能想要做的是创建一个对象:

var employees = {};

然后用键:值对填充它,其中键类似于“employee_”+num,值是您从循环中获得的对象:

employees["employee_"+number] = data

其结果将是一个对象,如:

{
    "employee_0" : { "name" : "John", "number": 0 }
    "employee_1" : { "name" : "Joe", "number": 1 }
}

并且您可以按键引用它们,如下所示:

console.log("Employee 0's name is " + employees["employee_0"].name);

希望有帮助。如果您需要更多帮助,则需要更清楚地了解如何循环员工数据及其外观。


推荐阅读