JavaScript 对象扁平化

Posted 「已注销」

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 对象扁平化相关的知识,希望对你有一定的参考价值。

javascript对象扁平化

我们平时肯定遇到过多层嵌套的对象,name如何将它扁平化呢?一起来看看吧!
函数封装如下:

function flatten (obj) 
      const ans = 
      inner(obj, null)
      function inner (o, prev) 
        for (let key in o) 
          if (o[key] instanceof Object) 
            if (prev === null) 
              inner(o[key], key)
             else 
              inner(o[key], prev + '.' + key)
            
           else 
            if (prev === null) 
              ans[key] = o[key]
             else 
              ans[prev + '.' + key] = o[key]
            
          
        
      
      return ans
    

将一个多层嵌套的对象传入,将返回一个扁平化后的对象。
示例:

const obj = 
      a: 1,
      b:  c: 2, d: 3 ,
      e:  f:  g: 4  ,
      h:  i:  j: 5, k: 6  
    

对象obj是一个多层嵌套的对象,将其传入flatten函数,将得一个扁平化的对象:

 a: 1, b.c: 2, b.d: 3, e.f.g: 4, h.i.j: 5, h.i.k: 6 

以上即为扁平化一个对象的方法。

以上是关于JavaScript 对象扁平化的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 对象扁平化

JavaScript 扁平与树形数组数据的转换

JavaScript 数据扁平化处理

Javascript中扁平化数据结构与JSON树形结构转换详解

JavaScript数组常用方法解析和深层次js数组扁平化

JavaScript 常用技巧