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

179
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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