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

170
Vistas
¿Cómo verificar si una cadena específica aparece como un valor en un objeto?

Tengo un objeto que está estructurado así (versión simplificada):

 { "customConfig": { "homepage": { "url": "path/to/homepage", "base_path": "www.stackoverflow.com" }, "portfolio": { "url": "path/to/portfolio", "base_path": "www.github.com" }, "moreStuff": { //... } }

Ahora quiero verificar si existe un valor de cadena específico (en mi caso para la clave base_path ).

Entonces, ¿cómo puedo verificar si, por ejemplo, la cadena www.github.com existe en mi objeto customConfig para la clave base_path ?

Un valor de retorno booleano sería suficiente aquí.

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

0

El OP necesita utilizar Object.values para recuperar una matriz de todos los valores de propiedad del objeto de configuración. Luego, el OP quiere saber si some condición como el valor base_path de dicho valor/elemento es igual a una determinada dirección.

 console.log( "does object contain an item where `base_path` equals 'www.github.com' ?", Object.values({ "homepage": { "url": "path/to/homepage", "base_path": "www.stackoverflow.com" }, "portfolio": { "url": "path/to/portfolio", "base_path": "www.github.com" }, "moreStuff": { //... } }).some(item => item.base_path === 'www.github.com') );

about 4 years ago · Juan Pablo Isaza Denunciar

0

Podrías usar una función recursiva.

Para encontrar una clave determinada, llame a hasOwnProperty (o use includes en Object.keys ) en cada nivel de anidamiento para ver si la clave se encuentra allí.

Para encontrar un valor determinado, use includes en Object.values() .

Para encontrar un par clave/valor, encuentre la clave (como se indica arriba) y verifique que el valor de esa clave sea el valor buscado:

 const containsKey = (obj, key) => Object(obj) === obj && ( obj.hasOwnProperty(key) || Object.values(obj).some(child => containsKey(child, key)) ); const containsValue = (obj, value) => Object(obj) === obj && ( Object.values(obj).includes(value) || Object.values(obj).some(child => containsValue(child, value)) ); const containsKeyValue = (obj, key, value) => Object(obj) === obj && ( obj.hasOwnProperty(key) && obj[key] === value || Object.values(obj).some(child => containsKeyValue(child, key, value)) ); // Example run: let data = { "customConfig": { "homepage": { "url": "path/to/homepage", "base_path": "www.stackoverflow.com" }, "portfolio": { "url": "path/to/portfolio", "base_path": "www.github.com" }, "moreStuff": { //... } } }; console.log(containsKey(data, "base_path")); // true console.log(containsValue(data, "www.github.com")); // true console.log(containsKeyValue(data, "base_path", "www.github.com")); // true

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes intentar algo como

 let obj = { "customConfig": { "homepage": { "url": "path/to/homepage", "base_path": "www.stackoverflow.com" }, "portfolio": { "url": "path/to/portfolio", "base_path": "www.github.com" } } } let exist = Object.keys(obj.customConfig).filter(page => obj.customConfig[page]['base_path'] == 'www.github.com').length>0; console.log(exist);

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