Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

226
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda