为了账号安全,请及时绑定邮箱和手机立即绑定

如何压平一个json

如何压平一个json

慕后森 2018-09-01 20:43:36
var obj={         a:1,         b:{             b1:2,             b2:3         },        c:{            c1:4,            c2:{                c21:5,                c21:6             }         }     };    //写一个函数返回下列结果     //return json={a:1,b.b1:2,b.b2:3,c.c1:4,c.c2.c21:5,c.c2.c22:6};哪位大神知道这种数据结构怎么整,应该是用到递归,不过那个key值是怎么组出来的,帮帮忙,我现在想写一个方法碰到这种数据结构可以做扁平化处理
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

看看这个

(刚刚写错了........)

function outerFn (param){    var result = {}    function fn (obj,prefix) {      for (key in obj){       let fullKey = prefix?(prefix+'.'+key):key;        if (typeof obj[key]==='object'){
            fn(obj[key],fullKey)
        }else{
          result[fullKey] = obj[key]
        }
      }
    }
    fn(param)    return result;
}


查看完整回答
反对 回复 2018-09-01
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

function fn(data) {  const res = {};  function _h(obj, p = '') {    if (typeof obj === 'object' || obj === null)      Object.keys(obj).forEach(key => _h(obj[key], p ? p + '.' + key : key));    else res[p] = obj;
  }
  _h(data);  return res;
}


查看完整回答
反对 回复 2018-09-01
  • 2 回答
  • 0 关注
  • 1398 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信