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

117
Visualizações
Cómo buscar una matriz de objetos y enviar un nuevo valor en la matriz Angular 8

Tengo dos respuestas diferentes de API. Debajo de la respuesta contiene lineId y Name.

 this.lines = [ { lineId: "R_X002_ACCESS" localName: "ACCESS" name: "ACCESS" }, { lineId: "R_X00R_X002_BIB2_ACCESS" localName: "BIB" name: "BIB" }, { lineId: "R_X002_KNORR" localName: "Knorr" name: "Knorr" }, { lineId: "R_X002_POWDER" localName: "Powder" name: "Powder" }, ];

Esta respuesta es para la función processData. Aquí quería buscar el nombre de la respuesta api de this.lines en función del ID de línea del objeto del elemento y, si coincide, entonces necesito presionar Nombre

 item = { lineId: "R_X002_POWDER" }, { lineId: "R_X00R_X002_BIB2_ACCESS,R_X002_ACCESS" }, { lineId: "R_X002_POWDER" };

Ahora, en el siguiente código, estoy buscando un nombre basado en lineId de la respuesta api de this.lines y, si coincide, intento empujar dentro de la matriz plist.

A continuación se muestra mi código, aquí estoy pasando la respuesta api y preparando la matriz en función de alguna condición.

Probé el siguiente código dentro de la función processData , pero no funciona para valores separados por comas y tampoco empuja a la matriz plist adecuada.

 var lineName = this.lines.filter(function(line) { if(line.lineId === item.lineId){ return line.name; } }); processData(data: any) { let mappedData = []; for(const item of data){ console.log(item,"item"); var lineName = this.lines.filter(function(line) { if(line.lineId === item.lineId){ return line.name; } }); const mitem = mappedData.find(obj => obj.makeLineName == item.makeLineName); if(mitem){ mitem['plist'].push(item); } else { let newItem = item; newItem['plist'] = [ item ]; mappedData.push(newItem); } } return mappedData; }

Rendimiento esperado

 lineId: "R_X002_POWDER", name: "Powder" }, { lineId: "R_X00R_X002_BIB2_ACCESS,R_X002_ACCESS", name: "BIB","ACCESS" }, { lineId: "R_X002_KNORR", name: "Knorr" };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que debido a que se le devolvió el ID de línea, en lugar de verificar la igualdad de ID de línea, debe verificar si el ID de línea entrante incluye su ID de línea.
en su código: en lugar de line.lineId === item.lineId
marca esto: (item.lineId).includes(line.lineId)

tal vez funcione...

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Funciona esto para usted (función mapNames ) ...

 const lines = [ { lineId: "R_X002_ACCESS", localName: "ACCESS", name: "ACCESS" }, { lineId: "R_X00R_X002_BIB2_ACCESS", localName: "BIB", name: "BIB" }, { lineId: "R_X002_KNORR", localName: "Knorr", name: "Knorr" }, { lineId: "R_X002_POWDER", localName: "Powder", name: "Powder" }, ]; const items = [ { lineId: "R_X002_POWDER" }, { lineId: "R_X00R_X002_BIB2_ACCESS,R_X002_ACCESS" }, { lineId: "R_X002_POWDER" } ]; function mapNames(lines, items) { const mappedLines = {}; lines.forEach(lineItem => { if (!mappedLines[lineItem.lineId]) { mappedLines[lineItem.lineId] = lineItem; } }); const mappedItems = items .map(item => { return { lineId: item.lineId, name: item.lineId.split(",") .map(lineItem => mappedLines[lineItem].name || "") .filter(x => x) .join(",") }; }); return mappedItems; } console.log("Mapped Names:\n", mapNames(lines, items));

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