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

205
Visualizações
Javascript: cómo usar el mapa y filtrar entre dos objetos de matriz

Estoy enfrentando un problema al usar .map y .filter donde no puedo obtener el objeto que no es similar en dos objetos. Qué cambios debo hacer para obtener el objeto poco común de arrayObjTwo .

código

 const arrayObjOne = [{ countryCode: "US", description: " Backyard of home", id: "1234", location: "US", name: "Backyard", }] // Array Object 2 const arrayObjTwo =[ { description: "Backyard of home", spaceName: "Backyard" }, { description: "Frontyard of home", spaceName: "Frontyard"}, ] const object1Names = arrayObjOne.map(obj => obj.Name); // for caching the result const results = arrayObjTwo.filter(name => !object1Names.includes(name)); console.log(results);

Un código de compilador: https://onecompiler.com/javascript/3xy92hpmp

Resultado Esperado:

 const arrayObjTwo =[ { description: "Frontyard of home", spaceName: "Frontyard" } ]

Gracias..

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Su filtro para el resultado es incorrecto. Debería usar "object.spaceName" en lugar de solo "name" mientras recorre una matriz de objetos y no solo cadenas

 // So this line: const results = arrayObjTwo.filter(name => !object1Names.includes(name)); // Should be: const results = arrayObjTwo.filter(object => !object1Names.includes(object.spaceName)); // And you have a typo: const object1Names = arrayObjOne.map(obj => obj.Name); // Should be like so as keys and properties are case-sensitive: const object1Names = arrayObjOne.map(obj => obj.name);

Así que todo esto debería ser:

 const arrayObjOne = [{ countryCode: "US", description: " Backyard of home", id: "1234", location: "US", name: "Backyard", }] // Array Object 2 const arrayObjTwo =[ { description: "Backyard of home", spaceName: "Backyard" }, { description: "Frontyard of home", spaceName: "Frontyard"}, ] const object1Names = arrayObjOne.map(obj => obj.name); // for caching the result const results = arrayObjTwo.filter(object => !object1Names.includes(object.spaceName)); console.log(results);
about 4 years ago · Juan Pablo Isaza Relatório

0

¡Estás cerca!

Tiene nombres en mayúsculas en su declaración de mapa, pero javascript distingue entre mayúsculas y minúsculas, por lo que el campo que está buscando "Nombre" no existe y, como tal, sus "nombres de objeto 1" no están definidos.

Deberías estar buscando obj.name

También debe compararlo con el campo "spaceName" de arrayObjTwo, no con el objeto completo.

Aquí está su código con estos pequeños cambios:

 const arrayObjOne = [{ countryCode: "US", description: " Backyard of home", id: "1234", location: "US", name: "Backyard", }] // Array Object 2 const arrayObjTwo =[ { description: "Backyard of home", spaceName: "Backyard" }, { description: "Frontyard of home", spaceName: "Frontyard"}, ] const object1Names = arrayObjOne.map(obj => obj.name); // for caching the result const results = arrayObjTwo.filter(obj => !object1Names.includes(obj.spaceName)); console.log(results);
about 4 years ago · Juan Pablo Isaza Relatório

0

¿Necesitas esto?

 const arr1 = [{ countryCode: "US", description: " Backyard of home", id: "1234", location: "US", name: "Backyard", }] // Array Object 2 const arr2 =[ { description: "Backyard of home", spaceName: "Backyard" }, { description: "Frontyard of home", spaceName: "Frontyard"}, ] const names = arr1.map(item => item.name); // for caching the result console.log(names); const res = arr2.filter(item => !names.includes(item.name)); console.log(res);

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