深度遍历对象把value为""的属性置为null

一路梦香
  • 268

`

var obj = {
  valuea:"",
  valueb:"aaa",
  objc:{
    valuec:"ccc",
    valued:"",
    obj_obj:{
      value:""
    }
  },
  array:[
 {
    valuec:"ccc",
    valued:"",
    obj_obj:{
      value:""
    }
  },
  ]
}

`
类似这种N层结构的对象如何深度遍历

回复
阅读 1.1k
1 个回答
function deep(obj){
    for(let k in obj){
        if(k == 'value' && obj[k] === ''){
            obj[k] = null
        }else if(
            Array.isArray(obj[k]) ||
            (typeof obj[k] == 'object' && obj[k].toString() == "[object Object]")
        ){
            deep(obj[k])
        }
    }
}

deep(obj);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏