Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

131
Vistas
check if value exists in an Object containing multiple Objects

So I have an Object that contains multiple Objects

const edges = {
         edge1: {source: "Horse", target: "4_2_0_0_0f"},
         edge2: {source: "Horse", target: "4_2_0_0_0x"},
         edge3: {source: "Horse", target: "4_2_0_2_1h"},
         edge4: {source: "Horse", target: "4_2_4_0_4z"},
         edge5: {source: "Horse", target: "4_2_1_0_0p"},
....}

Now I want to check whether edge2: {source: "Horse", target: "4_2_0_0_0x"} exists in edges or not. What is the fastest way to do that?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can Array.some to check if at least one of array elements matches your condition. Before that you will need to convert object you array with Object.values:

const edges = {
  edge1: {
    source: "Horse",
    target: "4_2_0_0_0f"
  },
  edge2: {
    source: "Horse",
    target: "4_2_0_0_0x"
  },
  edge3: {
    source: "Horse",
    target: "4_2_0_2_1h"
  },
  edge4: {
    source: "Horse",
    target: "4_2_4_0_4z"
  },
  edge5: {
    source: "Horse",
    target: "4_2_1_0_0p"
  },
}

function existsEdge(source, target) {
  return Object.values(edges).some(v => v.source === source && v.target === target)
}

console.log(existsEdge('Horse', '4_2_0_0_0x'))

This is effective if you wish to check only once. If you wish to check multiple times, consider using different data structure with fasters checks. Example using Set:

const edges = {
  edge1: {
    source: "Horse",
    target: "4_2_0_0_0f"
  },
  edge2: {
    source: "Horse",
    target: "4_2_0_0_0x"
  },
  edge3: {
    source: "Horse",
    target: "4_2_0_2_1h"
  },
  edge4: {
    source: "Horse",
    target: "4_2_4_0_4z"
  },
  edge5: {
    source: "Horse",
    target: "4_2_1_0_0p"
  },
}

const index = new Set(Object.values(edges).map(v => `${v.source}:${v.target}`))

function existsEdge(source, target) {
  return index.has(`${source}:${target}`)
}

let result = undefined
for (let i = 0; i < 10000000; i++) {
  result = existsEdge('Horse', '4_2_1_0_0p')
}

console.log(result)

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda