Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

104
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda