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

294
Vistas
Paso una matriz por referencia a otra clase, pero no se modifica allí

Tengo un problema con una aplicación web que estoy creando. En resumen, quiero pasar una matriz por referencia, de modo que el cambio en un módulo afecte la matriz en la clase principal. La forma en que lo hago es:

  1. Envío la matriz como parámetro de función y la asigno en el módulo.
  2. Hago el cambio en la clase principal y la matriz se actualiza en el módulo.
  3. Cuando actualizo la matriz en el módulo, no se actualiza en la clase principal.

No lo entiendo, se debe pasar array por referencia, y aparentemente es así como el cambio funciona de una manera, pero no de la otra. Registro los valores en ambos lados y veo que funciona. Me está volviendo loco...

El código se reduce a esto, estos son los únicos lugares donde las matrices se ven afectadas.

Clase principal:

 import { build } from "Module.js"; let usedRelations = []; window.onload = function () { build(usedRelations); } function addNewRelation(relationId) { let rel = {}; // instantiating relation object here usedRelation.push(rel); // it affects the array in the module class }

Módulo:

 let relationsArray; export function build(usedRelations) { relationsArray = usedRelations; } function deleteUnsavedRelation(usedRelation) { //relationsArray is filtered properly, but usedRelations from main class remain unchanged relationsArray = relationsArray.filter(x => x.relationId != usedRelation.relationId); }
about 4 years ago · Juan Pablo Isaza
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