Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

243
Visualizações
¿Cómo sé cuál es el límite de tamaño para construir un Conjunto en JavaScript?

Estoy creando una herramienta para eliminar geometría de un modelo en el navegador.

En algún paso del proceso de eliminación, tomo una matriz llena de índices y creo un Conjunto a partir de ella para obtener la matriz de índices no repetidos.

 function GetSetFromArray(array){ return new Set(array); }

Esta función ha funcionado bien para muchos modelos al principio. Como quiero procesar la eliminación lo más rápido posible, quería evitar el uso de soluciones que requieran .indexOf.

Pero cuando intento eliminar de un modelo grande, por ejemplo, una matriz con una longitud de aproximadamente 15 000 000. Me sale el siguiente error en la consola del navegador:

No capturado (en promesa) RangeError: establecer el tamaño máximo excedido

captura de pantalla de error de la consola

Quiero saber, ¿cuál es el tamaño máximo para crear un conjunto? ¿Es algo que depende del navegador? ¿O en la PC que ejecuta el navegador? ¿Hay alguna manera de obtener ese número? Creo que tal vez si pudiera obtener el límite de tamaño del conjunto, ¿podría dividir la matriz para hacer una serie de conjuntos y luego usar eso?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La colección que contiene los elementos de un Conjunto se denomina "Lista" en la especificación, yno se especifica un límite en el tamaño de una Lista.

Estas secuencias pueden ser de cualquier longitud.

Tampoco se especifica el tamaño de las listas Set en particular. ( 1 , 2 )

  1. Establecer set.[[SetData]] en una nueva lista vacía.

Por lo tanto, debe estar definido por la implementación.

¿Es algo que depende del navegador? ¿O en la PC que ejecuta el navegador?

Dependerá del motor JavaScript que utilice el navegador (por ejemplo, V8, o SpiderMonkey, o JavaScriptCore, entre otros).

¿Hay alguna manera de obtener ese número?

Simplemente .add elementos a un conjunto hasta que se lance.

 const getSetSizeLimit = () => { let i = 0; const set = new Set(); while (true) { try { set.add(i); } catch(e) { return i; } i++; } return i; }; console.log(getSetSizeLimit());

En mi Windows-Chrome, el límite parece ser 16777216, que es 2 ** 24 .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda