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

106
Vistas
Cómo mover valores de una matriz a otra en angular 11

Quiero mover un valor de una matriz a otra. Aquí está la primera matriz

 "availableMember": [ { "id": 18, "userDivisionId": 1, "userDivisionCode": "1", "userDivisionName": "DEPT. MARKETING & LOGISTIK" }, { "id": 26, "userDivisionId": 333, "userDivisionCode": "2.3.21.02", "userDivisionName": "YGY PO" }, { "id": 27, "userDivisionId": 335, "userDivisionCode": "2.3.21.02.04", "userDivisionName": "YGY MO" }, ]

y quiero mover, por ejemplo, el objeto con userDivisionId es 333, a la segunda matriz.

 "selectedMember": []

Ya intenté usar .splice() , pero a veces funciona y otras no. ¿Alguna idea de cómo hacer esto? Por favor, ayúdame. Gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Array.find() es el método más apropiado. Toma una función como parámetro y devolverá el primer elemento en el que la función devuelve true . Si desea encontrar todas las apariciones, simplemente sustituya find con filter . Use Array.push() para agregar un elemento a una matriz o Array.concat() para concatenar dos matrices.

 availableMember = [ { id: 18, userDivisionId: 1, userDivisionCode: '1', userDivisionName: 'DEPT. MARKETING & LOGISTIK', }, { id: 26, userDivisionId: 333, userDivisionCode: '2.3.21.02', userDivisionName: 'YGY PO', }, { id: 27, userDivisionId: 335, userDivisionCode: '2.3.21.02.04', userDivisionName: 'YGY MO', }, ]; selectedMember: any[] = [];

Agregar un solo elemento

 ngOnInit(): void { const selected = this.availableMember.find( (el) => el.userDivisionId === 333 ); this.selectedMember.push(selected); }

Adición de varios elementos

 ngOnInit(): void { const selected = this.availableMember.filter( (el) => el.userDivisionId === 333 || el.userDivisionId === 335 ); this.selectedMember = this.selectedMember.concat(selected); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede probar algo como a continuación, donde puede pasar la identificación de división a la llamada de function como selectMember(333) . Este es un enfoque dinámico. También puede transformar o sobrecargar esta función con más entradas para que coincida con userDivisionName o id en el futuro

 const selectMember = (divisionId) => { availableMember.map(function(x) { if (x.userDivisionId === divisionId) selectedMember.push(x) }) }

o variación de la función anterior

 const selectMemberV2= (divisionId) => { selectedMember = availableMember.filter(x => x.userDivisionId === divisionId); }

Código de trabajo

 let availableMember = [{ "id": 18, "userDivisionId": 1, "userDivisionCode": "1", "userDivisionName": "DEPT. MARKETING & LOGISTIK" }, { "id": 26, "userDivisionId": 333, "userDivisionCode": "2.3.21.02", "userDivisionName": "YGY PO" }, { "id": 27, "userDivisionId": 335, "userDivisionCode": "2.3.21.02.04", "userDivisionName": "YGY MO" }, ]; selectedMember = []; // function to select member with different input const selectMember = (divisionId) => { availableMember.map(function(x) { if (x.userDivisionId === divisionId) selectedMember.push(x) }) } // call selectMember(333); //log console.log(selectedMember)

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