简体   繁体   English

如何通过键和值以指定的方式获取对象值

[英]How to get object values in a specified manner by with keys and values

i wanted print the string in a specifed manner but i'm not finding any convenient solution. 我想以指定的方式打印字符串,但找不到任何方便的解决方案。

I'm expecting below result: 我期望以下结果:

  <h1>new_data</h1> <h4>print:</h4> <span>inv_val_ads_details_brand,auth_sign</span> <h4>report:</h4> <span>value_ads_report,per_day_volume_billing</span> <h4>media:</h4> <span>media,auto_generated_media</span> <hr> <h1>old_data</h1> <h4>media:</h4> <span>meta_data</span> <h4>order:</h4> <span>cg_counter,sub_vertical</span> 

here is what i have tried: 这是我尝试过的:

  var data = { "new_data": { "print": { "inv_val_ads_details_brand": true, "auth_sign": false }, "report": { "value_ads_report": true, "per_day_volume_billing": false }, "media": { "media": false, "auto_generated_media": true } }, "old_data": { "media": { "meta_data": false }, "order": { "cg_counter": true, "sub_vertical": false } } }; var str = ''; Object.keys(data).map(function(key) { str += '<h1>'+key+'</h1>'; console.log('main heading...',key); Object.keys(data[key]).map(function(val){ console.log('values',val); }); }); 

Question : snippet 1 output i'm expecting 问题 :我期望的片段1输出

Please help me thanks in advance !!!!! 请提前帮助我!

As you don't return anything, use forEach instead of map , and doing something like this would give the output you asked for 由于您未返回任何内容,因此请使用forEach而不是map ,并且执行类似的操作将得到您要求的输出

Stack snippet 堆栈片段

 var data = { "new_data": { "print": { "inv_val_ads_details_brand": true, "auth_sign": false }, "report": { "value_ads_report": true, "per_day_volume_billing": false }, "media": { "media": false, "auto_generated_media": true } }, "old_data": { "media": { "meta_data": false }, "order": { "cg_counter": true, "sub_vertical": false } } }; var str = ''; Object.keys(data).forEach(function(key) { str += '<h1>' + key + '</h1>'; Object.keys(data[key]).forEach(function(val) { str += '<h4>' + val + ':</h4>'; Object.keys(data[key][val]).forEach(function(val2, idx) { if (idx > 0) str += ','; str += '<span>' + val2 + '</span>'; }); }); }); document.body.innerHTML = str; 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM