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

73
Vistas
La matriz no se reasigna después del cambio

Tengo una matriz que contiene elementos, mi objetivo es dividir algunos de los elementos dentro de la matriz, luego quiero reasignar la matriz original con una nueva matriz que es una sublista de la matriz original, pero parece que no puedo hacer eso pasa por favor ayuda.

 let arr = [1,2,3,4,5] function subList(arr){ for(let i = 0; i < arr.length; i++){ let res = arr.slice(0,i) if(i === 3){ arr = res; } } } subList(arr) console.log(arr) // expected output [1,2,3]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Pase un índice a la función y simplemente return arr.slice(0, i); .

 let arr = [1, 2, 3, 4, 5] function subList(arr, i) { return arr.slice(0, i); } console.log(subList(arr, 3));

about 4 years ago · Juan Pablo Isaza Denunciar

0

let list = [1,2,3,4,5] function subList(arr,n){ for(let i = 0; i < arr.length; i++){ if(i === 3){ let res = arr.slice(0,i) list = res; } } } subList(list,0) console.log(list)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay muchas maneras de hacerlo.

Por qué no te funciona:

Está pasando el arr a la variable y, dado que es un objeto, idealmente cualquier cambio que le haga debería reflejarse en el exterior. Pero en realidad no está mutando/cambiando nada en su argumento pasado, lo está reasignando (con arr=res ). Entonces eso no hará ningún cambio en el arr exterior.

Si hace algo como .push() , .pop() , que son operaciones en la matriz sin reasignarla, eso debería cambiarla.

Ejemplo de modificación de su código con operaciones que realmente modifican la matriz en lugar de reemplazarla splice() , push :

 let arr = [1,2,3,4,5] function subList(arr){ for(let i = 0; i < arr.length; i++){ let res = arr.slice(0,i) if(i === 3){ arr.splice(0,arr.length); arr.push(...res); break; } } } subList(arr) console.log(arr)

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