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

98
Visualizações
Verifique los objetos dentro de la misma matriz y una matriz diferente

Estoy estudiando un poco de objetos js últimamente (todavía estoy aprendiendo). Estoy atascado en un proyecto mío en el que necesito verificar si 2 objetos dentro de una matriz (de objetos) son idénticos entre ellos y entre ellos y otro objeto en una matriz diferente. Estos dos objetos iniciales tendrán que comportarse de manera diferente si ocurren ciertas instancias:

Intentaré ser lo más claro posible. Mi código tiene 2 matrices de objetos:

 let array1 = [{name: "New York", value: "A", price: 43, status: "not checked"}, {name: "Not Specified", value: "A", price: 333, status: "not checked"}, {name: "Barry", value: "C", price: 48, status: "not checked"},..etc.]; let array2 = [{name: "John", value: "A", price: 23, status: "not checked"}, {name: "Jerry", value: "A", price: 67, status: "not checked"}, {name: "Barry", value: "C", price: 48, status: "not checked"}, {name: "Tom", value: "F", price: 23, status: "not checked"}, {name: "Barry", value: "C", price: 48, status: "not checked"},...etc.];

Como puede ver, el estado inicial de todos los objetos está "no marcado". Ahora, parte de mi código hace un bucle en una matriz (array2, la más grande de las dos) para verificar si, en la misma posición "i", tienen objetos dentro con diferentes propiedades/valores:

 for (let i = 0; i < array2.length; i++){ if (array1[i].value != array2[i].value){ ...do something...}.

Ahora, como puede ver, también hay un resultado en común en array1 y array2:

 {name: "Barry", value: "C", price: 48, status: "not checked"}

Lo que me gustaría hacer es esto:

  • permaneciendo dentro del bucle for original, cuando llego a la posición "i" de "Barry", quiero verificar si en array2 hay al menos 2 objetos idénticos entre ellos (en este caso, el de "Barry"). Si es así, entonces:
  • verifique si estos dos son idénticos a cualquier objeto en el arreglo1 (siempre "Barry", esta vez en el arreglo1, aquí la posición "i" puede ser aleatoria). Si es así, entonces:
  • mientras el ciclo sigue ciclando en la posición "i" del primer resultado "Barry", el primer resultado hará algo, mientras que el otro idéntico (siempre en el arreglo2) se comportará de manera diferente (así que estaba pensando en modificar el estado del primer resultado a "verificado", por lo que el resultado posterior tendrá que verificar que al tener un estado diferente, "no verificado", debe comportarse de manera diferente). No pasa nada con el resultado en array1.

Lo siento por el muro de texto, pero siendo bastante novato es difícil describir a veces lo que estoy tratando de hacer. ¡Gracias por cualquier sugerencia!

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

0

Deberá llamar a una función de find para cada elemento en la primera matriz. Algo como esto:

 array1.forEach(item => { var found = array2.find(item2 => item2.value === item.value) if (found) { // do something } }
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