我正在制作一个用于从浏览器中的模型中删除几何图形的工具。
在删除过程的某个步骤中,我获取一个充满索引的数组,并从中创建一个 Set 以获取不重复索引的数组。
function GetSetFromArray(array){
return new Set(array);
}
Run Code Online (Sandbox Code Playgroud)
这个功能一开始在很多型号上都运行良好。由于我想尽快处理删除,因此我想避免使用需要 .indexOf 的解决方案。
但是当我尝试从一个大模型中删除时,例如,一个长度约为 15,000,000 的数组。我在浏览器控制台上收到以下错误:
未捕获(承诺) RangeError:超出设置的最大大小

我想知道创建Set的最大尺寸是多少?这是否取决于浏览器?或者在运行浏览器的PC上?有办法得到这个号码吗?我想也许如果我可以获得集合的大小限制,我就可以将数组拆分为一系列集合然后使用它?