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

140
Views
Obtenga valores de datos JSON solo de claves específicas contenidas en una matriz

Estoy tratando de construir en Javascript una tabla de valores nutricionales, cantidad y porcentaje diario. He guardado datos JSON de esta manera:

 data : [ { "recipe": { "totalNutrients": { "ENERC_KCAL": { "label": "Energy", "quantity": 122.67497750000001, "unit": "kcal" }, "K": { "label": "Potassium", "quantity": 255.9084202548212, "unit": "mg" }, "FAT": { "label": "Fat", "quantity": 11.89368915, "unit": "g" }, "ZN": { "label": "Zinc", "quantity": 0.328366321935265, "unit": "mg" }, "FIBTG": { "label": "Fiber", "quantity": 3.609618250000001, "unit": "g" }, "SUGAR": { "label": "Sugars", "quantity": 0.5078356, "unit": "g" } } } }]

Quiero obtener ENERC_KCAL, FAT y los demás valores en la matriz "KEYS" de los datos JSON.

 keys = ['ENERC_KCAL', 'FAT', 'CHOCDF', 'FITBG', 'SUGAR', 'PROCNT', 'CHOLE', 'NA']; valNut = data[0].recipe.totalNutrients;

¿Hay alguna manera de lograr la siguiente instrucción:

 energyValue = valNut.ENERC_KCAL.quantity + ' ' + valNut.ENERC_KCAL.unit

usando en su lugar los valores de la matriz en un bucle?

 for(h=0; h<keys.length; h++){ energyValue = valNut.keys[h].quantity + ' ' + valNut.keys[h].unit }

PD Lo siento por el mal inglés.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para hacer lo que necesita, puede recorrer las keys usando map() para construir una nueva matriz de los objetos clave correspondientes de totalNutrients . Algo como esto:

 let data = [{recipe:{totalNutrients:{ENERC_KCAL:{label:"Energy",quantity:122.67497750000001,unit:"kcal"},K:{label:"Potassium",quantity:255.9084202548212,unit:"mg"},FAT:{label:"Fat",quantity:11.89368915,unit:"g"},ZN:{label:"Zinc",quantity:.328366321935265,unit:"mg"},FIBTG:{label:"Fiber",quantity:3.609618250000001,unit:"g"},SUGAR:{label:"Sugars",quantity:.5078356,unit:"g"}}}}]; let keys = ['ENERC_KCAL', 'FAT', 'CHOCDF', 'FITBG', 'SUGAR', 'PROCNT', 'CHOLE', 'NA']; let filteredNutrientData = keys.map(key => data[0].recipe.totalNutrients[key]).filter(v => v); console.log(filteredNutrientData);

Tenga en cuenta que el filtro final .filter(v => v) es para eliminar los valores undefined que resultan de buscar una clave inexistente en el objeto totalNutrients .

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!