Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

138
Views
La matriz permanece vacía pero los datos se envían mediante la creación de una matriz temporal

Estoy escribiendo un programa para generar subconjuntos de una matriz dada en Javascript. Estoy empujando los subconjuntos a otra matriz de variables globales llamada subMegaSet. Pero cuando accedo a subMegaSet en otra función, la matriz contiene subconjuntos vacíos. Pero si presiono los valores creando otra matriz temporal, los subconjuntos se insertan en subMegaSet. No puedo depurar esto.

 function createSubsets(nums, n, arr, index){ if(arr.length >= 0){ let temp = []; for(let item of arr){ temp.push(item); } // subMegaSet.push(arr) ----> Empty array pushed subMegaSet.push(temp); } if(index === n){ return; } for(let i=index; i<n; i++){ arr.push(nums[i]); createSubsets(nums, n, arr, i+1); arr.pop(); }

}

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Solo hay una matriz arr . Los valores se insertan y extraen de él, pero sigue siendo una sola matriz. Esto significa que cada vez que haces subMegaSet.push(arr) agregas la misma matriz a ese subMegaSet . Por lo tanto, no es posible que subMegaSet[0] sea una matriz diferente a subMegaSet[1] , etc. En todos los índices encontrará la misma matriz. Si al final de todo el procedimiento esa matriz se ha quedado vacía, todo lo que encontrará en subMegaSet será una matriz vacía, repetidamente.

Esta es la razón por la que necesita copiar la matriz en una matriz nueva (separada), cuando la inserta en subMegaSet , para garantizar que:

  • Cualquier push o pop futuro en arr no afecta la matriz que acaba de agregar a subMegaSet
  • Todas las entradas de subMegaSet son instancias de matriz diferentes.

Puede simplificar esa copia usando la sintaxis extendida:

 subMegaSet.push([...arr])
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!