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

237
Visualizações
¿Por qué recibo `Error: no se puede crear una cadena de más de 0x3fffffe7 caracteres`

Ejecutar el siguiente código Error: Cannot create a string longer than 0x3fffffe7 characters . Mi archivo contiene solo 2 matrices y está composed , todo el archivo contiene 1,3 GB. Quería combinarlos por id usando algo como el siguiente código para mapear a través de arrayMain y devolver cada objeto combinado con el objeto de arrayItems con la misma id y luego reestructurar ese objeto para descartar la id. Pero creo que me estoy topando con un límite del sistema. Soy bastante nuevo en el trabajo con archivos de datos de gran tamaño, por lo que se agradece cualquier ayuda.

 const composed = arrayMain.map((d) => { return { ...d, data: arrayItems.filter(({ ID }) => d.ID === ID).map(({notNeeded, ...needed}) => needed), }; });

Si alguien se pregunta cómo se estructuran mis datos

 const arrayMain = [ { ID: 30574062, number: 28234702, place: London, }, { ID: 30574063, number: 45232502, place: Paris, }, ... ]; const arrayItems = [ { "ID": 30574062, "anotherNumber": "52,3", "color": "red" }, { "ID": 30574062, "anotherNumber": "13", "color": "yellow" }, { "ID": 30574063, "anotherNumber": "60,6", "color": "blue" }, ... ] //expected result [ { ID: 30574062, number: 28234702, place: London, data: [ { "anotherNumber": "52,3", "color": "red" }, { "anotherNumber": "13", "color": "yellow" } ] }, { ID: 30574063, number: 45232502, place: Paris, data: [ { "anotherNumber": "60,6", "color": "blue" }, ] }, ... ]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Probablemente haya una solución más atractiva, pero tal vez podría clasificar la matriz para que se escriba en fragmentos, y solo generar cadenas y llamar a appendFile en esos fragmentos, de modo que en ningún momento haya una sola cadena enorme. Después de crear composed , cree un flujo de escritura (para permitir muchas escrituras secuenciales sin errores) y siga llamando a .write en él.

 const stream = fs.createWriteStream(filePath, { flags:'a' }); stream.write('['); const CHUNK_LENGTH = 500; // alter as needed for (let i = 0; i < composed.length; i += CHUNK_LENGTH) { const chunkStr = JSON.stringify( composed.slice(i, i + CHUNK_LENGTH) ); stream.write(chunkStr); } stream.write(']'); // to wait for all of this to complete, watch for the stream's finish event
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