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

229
Visualizações
¿Cómo comparo los valores de propiedad de un objeto con los valores de una matriz y luego reemplazo los valores del objeto con los valores de la matriz?

Digamos que tengo una matriz como esta (estoy agregando letras al azar solo para recrear mi ejemplo un poco mejor).

 arr1 = ["appless", "bananarr", "orangeaa", "coconutvv", "pineapplevv"]

Luego tengo un grupo de objetos.

 const objects: [{ name: "john", job: "carpenter", color: "blue" status: "banana"}, { name: "john", job: "plumber", favorites: "banana", "apple", "orange", color: "blue", "purple"}, { name: "john", job: "carpenter", favorites: "orange", "pineapple", gender: "female"}]

Como puede ver, mis objetos tienen diferentes propiedades, pero muchos valores coinciden con uno o más valores en mi arr1. Ahora, para cada valor que coincida principalmente con una de las cadenas en mi arr1, quiero reemplazar el índice del valor coincidente en arr1 en el valor del objeto (como se muestra a continuación), para cada objeto y para cada propiedad.

Resultado de ejemplo:

 const objects: [{ name: "john", job: "carpenter", color: "blue" status: 1}, { name: "john", job: "plumber", favorites: 1, 0, 2, color: "blue", "purple"}, { name: "john", job: "carpenter", gender: "female", 2}]

Lo que estoy tratando de hacer en realidad es reemplazar dinámicamente los valores de cadena de bibliotecas/tecnologías/frameworks/etc (es decir, "Reaccionar") de un proyecto de cartera (los objetos se obtienen de un json local) con sus respectivos íconos (para que estoy usando iconos de React). No quiero ir a editar el json directamente.

Puse todos los componentes de íconos que necesito en una matriz, luego los usé para hacer una copia de la matriz con los valores de "cadena" de esos componentes de íconos (array.map).

Para obtener el índice: CREO que es mejor intentar hacer coincidir arr1 uno por uno ("favoritos", "estado" y "género" en este ejemplo), algo así como objects.map(object=>{object.favorites.includes("orangeaa").indexOf()} ??

No todos los objetos tienen una propiedad de "favoritos", por lo que obtendré algunos resultados indefinidos... Una vez que logre obtener ese número de índice, lo usaré para representar el ícono real. Como estoy usando reaccionar, será algo como esto:

 {object.favorites && (<div> <h3>Favs:</h3>{object.favorites.map(i=><p key={i}>{iconComponentsArray[i]}</p>)}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede mapear los favoritos con los índices de la matriz de destino.

 function getIndices(values, targets) { return values.map(s => targets.findIndex(t => t.includes(s))); } console.log(getIndices( ["banana", "apple", "orange"], ["appless", "bananarr", "orangeaa", "coconutvv", "pineapplevv"] ));

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