Node.js获取新集合的最大值()

bvpmtnay  于 2022-12-12  发布在  Node.js
关注(0)|答案(1)|浏览(205)

如何在Node.js Javascript中获取新Set()的最大可能大小?

let mySet = new Set();
mySet.MAX_VALUE;

只有.size可以作为get size。

xzv2uavs

xzv2uavs1#

Set示例只受可用内存的限制(或者环境强加的任意限制),没有特定的方法来确定这个限制(如果实际上可以用最大元素数来描述的话)。
size属性的getter返回一个number,因此理论上,如果Set中包含的元素多于Number.MAX_SAFE_INTEGER,这个数字可能不精确。这并不意味着Set不能包含那么多元素size的规范在访问点将元素的真实计数转换为number类型。
你在评论中说:
我想知道mySet在我的计算机上可以有多大。
这可能取决于你在集合中放入了什么,但据我所知,你只能通过构建一个集合来确定,直到添加失败为止。
在我使用节点v18的机器上,我可以在集合失败之前将16,777,216BigInt示例添加到集合中,并且我可以添加相同数量的唯一对象,其中每个对象都包含该BigInt的副本(即一组更大的东西),这表明Node.js将Set的大小限制为那么多元素,而不考虑内存(因为这两个限制都没有超出我的内存边界)。

相关问题