Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

171
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!