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

144
Visualizações
Tener un problema al convertir un objeto en una matriz filtrada

Me gustaría filtrar y reestructurar algunos datos específicos, pero tengo algunos problemas para que produzcan la estructura adecuada.

Tengo esta respuesta de datos en esta estructura....

 var response = { badProperty1: "bad property text" goodProperty1: "abc" goodProperty2: "bcd" goodProperty3: "cde" goodProperty4: "def" goodProperty5: "efg" badProperty2: "fgh" };

Me gustaría convertir mi objeto de respuesta en una matriz como esta estructura exactamente...

 var newFilteredStructuredArray = [ {goodProperty1: 'abc'}, {goodProperty2: 'bcd'}, {goodProperty3: 'cde'}, {goodProperty4: 'def'}, {goodProperty5: 'fgh'} ];

Sin embargo, me gustaría filtrar las malas propiedades antes de obtener mi nueva matriz. Me gustaría que mi matriz solo incluya estos nombres de propiedad específicos y filtre todo lo demás con lo que comencé.

 var possiblePropertyNames = ['goodProperty1', 'goodProperty2', 'goodProperty3', 'goodProperty4', 'goodProperty5'];
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

una implementación que usa filter y map en las entradas de objeto de respuesta. En la etapa de filtro, filtro solo si está disponible en possiblePropertyNames . Luego, en la etapa del mapa, devuelvo la matriz en el formato que necesita

 var possiblePropertyNames = ['goodProperty1', 'goodProperty2', 'goodProperty3', 'goodProperty4', 'goodProperty5']; var response = {badProperty1: "bad property text",goodProperty1: "abc",goodProperty2: "bcd",goodProperty3: "cde",goodProperty4: "def",goodProperty5: "efg",badProperty2: "fgh"} var newFilteredStructuredArray = Object.entries(response).filter(([k,v]) => possiblePropertyNames.includes(k)).map(([k,v]) => ({[k]:v})) console.log(newFilteredStructuredArray)

sin es6

 var possiblePropertyNames = ['goodProperty1', 'goodProperty2', 'goodProperty3', 'goodProperty4', 'goodProperty5']; var response = {badProperty1: "bad property text",goodProperty1: "abc",goodProperty2: "bcd",goodProperty3: "cde",goodProperty4: "def",goodProperty5: "efg",badProperty2: "fgh"} var newFilteredStructuredArray = Object.keys(response) .filter(function(a){ return possiblePropertyNames.includes(a) }) .map(function(b){ return {[b]:response[b]} }) console.log(newFilteredStructuredArray)

ACTUALIZAR una mejor respuesta con solo un map en la matriz de possiblePropertyNames como lo señaló Andreas en los comentarios

 var possiblePropertyNames = ['goodProperty1', 'goodProperty2', 'goodProperty3', 'goodProperty4', 'goodProperty5']; var response = {badProperty1: "bad property text",goodProperty1: "abc",goodProperty2: "bcd",goodProperty3: "cde",goodProperty4: "def",goodProperty5: "efg",badProperty2: "fgh"} var newFilteredStructuredArray = possiblePropertyNames.map(prop => ({[prop]:response[prop]})) console.log(newFilteredStructuredArray)

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