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

169
Visualizações
Combinar dos matrices de objetos haciendo coincidir el valor parcial

Tengo dos objetos de matrices como la siguiente:

 person: { 0: { firstName: John lastName: Doe avatar: https://sitename.com/filename.jpg }, etc.. }
 image: { 0: { Key: filename.jpg files: { srcSet: 'filename.jpg 256w' } } }

Mi objetivo es hacer coincidir los objetos a través del valor encontrado en avatar con el valor en Key y, después de hacer coincidir, fusionar los objetos de las matrices en una nueva estructura de matriz como la siguiente:

 person: { 0: { firstName: John lastName: Doe avatar: https://sitename.com/filename.jpg Key: filename.jpg files: { srcSet: 'filename.jpg 256w' } }, etc.. }

Mi instinto me dice que algún tipo de .filter y .map encadenado al filtro podría ayudar a crear la nueva matriz de objetos, sin embargo, no estoy seguro de cómo hacer coincidir un valor parcial .

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

0

Puede hacer algo como esto llamando a Array.prototype.map() en Object.values(yourobject)

Después de llamar al mapa en los valores del objeto original, puede verificar si existe un elemento con la misma clave en su segundo objeto, si usa el operador de propagación para crear un nuevo objeto resultante con las propiedades combinadas y luego devolverlo

 const person = { 0: { firstName: "John", lastName: "Doe", avatar: "https://sitename.com/filename.jpg" }, } const image = { 0: { Key: "filename.jpg", files: { srcSet: 'filename.jpg 256w' } } } const imageKey = (avatar) => { const arr = avatar.split('/'); return arr[arr.length - 1]; } const val = Object.values(person).map(v => { const found = Object.values(image).find(x => x.Key == imageKey(v.avatar)); if (found) return {...v, ...found }; else return {...v} }) console.log(val);

about 4 years ago · Juan Pablo Isaza Relatório

0

No puede usar el mapa sobre objetos, pero puede usar Object.values (objeto) para obtener sus valores

 const person = { 0: { firstName: "John", lastName: "Doe", avatar: "https://sitename.com/filename.jpg" }, } const image = { 0: { Key: "filename.jpg", files: { srcSet: 'filename.jpg 256w' } } } const getPersonImageKey = (person) => { return person.avatar.split("/").at(-1); } const mergedObjs = Object.values(person).map(person => { const relatedImage = Object.values(image).find(image => image.Key === getPersonImageKey(person)); return {...person, ...relatedImage}; }) const finalObj = {}; mergedObjs.forEach((obj, idx) => finalObj[idx] = obj); console.log(finalObj);

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