代码之家  ›  专栏  ›  技术社区  ›  Ahmed Younes

用带引号的键映射javascript对象的最佳方法是什么

  •  0
  • Ahmed Younes  · 技术社区  · 6 年前

    我从API收到了这样的数据

    var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'};
    

    让它成为键值对的最佳方法是什么?注意到有嵌套的对象?

    更新 谢谢你的回答 如果我不想弄平我的东西

    var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'};
    
    
    function unQuoteKeys(obj, newObj ={}){
        Object.keys(obj).forEach(key => {
              newObj[key] = obj[key]
        });
        return newObj
    }
    console.log(unQuoteKeys(myObj));
    

    结果

    { name: 'ahmed',
      age: 37,
      tools: { dev1: 'macbook', dev2: 'iphone', dev3: 'tablet' },
      gender: 'male' }
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Mark    6 年前

    var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'};
    
    function flatten(obj, res ={}){
        Object.keys(obj).forEach(key => {
            if (typeof obj[key] === 'object') flatten(obj[key], res)
            else res[key] = obj[key]
        })
        return res
    }
    console.log(flatten(myObj))

        2
  •  0
  •   Zain Mohsin    6 年前

    lodash _flatten()

    推荐文章