其他分享
首页 > 其他分享> > 对象扁平化

对象扁平化

作者:互联网

递归

    function flat(obj) {
      // 你的代码
      const back = {};
      recursion(obj, null);
      function recursion(o, prev) {
        for (let key in o) {
          if (o[key] instanceof Object) {
            if (prev === null) {
              recursion(o[key], key);
            } else {
              recursion(o[key], prev + '.' + key);
            };
          } else {
            if (prev === null) {
              back[key] = o[key];
            } else {
              back[prev + '.' + key] = o[key];
            };
          };
        };
      };
      console.log(back);
      return back;
    };
    // 最终效果是执行
    flat({
      a: {
        b: 1,
        c: 2,
        d: { e: 5 }
      },
      b: [1, 3, { a: 2, b: 3 }],
      c: 3
    })

标签:null,扁平化,对象,recursion,back,else,key,prev
来源: https://www.cnblogs.com/MrZhujl/p/16128470.html