lodash的get函数来判断对象深处的空值,太有用了!
作者:admin 日期:2022-01-21例题,比如,有这样一个对象:
Javascript代码
- let arr = [
- {id:1,tit:'ttt1'},
- {id:2,tit:'ttt2',bb:{ cc:{dd:12} }},
- {id:3,tit:'ttt3',bb:{}},
- {id:5,tit:'ttt5',bb:{ cc:{dd:''}}},
- {id:6,tit:'ttt6',bb:{ cc:{dd:null}}},
- {id:7,tit:'ttt7'},
- ]
分支内的数据不太规范,有的分支多,有的少。现在要求:输出所有含有dd属性的一级分支(dd如为空值也要排除掉)
想想,怎么写?
直接给答案吧,lodash大法好,清晰优美,而且是带变量的写法,不管有多深,一探到底:
Javascript代码
- _.each(arr, item=>{
- let flag = _.get(item, [ 'bb', 'cc', 'dd' ])
- if(flag){
- console.log(item)
- }
- })
另外,_.isEmpty这个函数也很好用,用于空值判断,可以判断各种不同的空值,比如对象空,数组空,字符空。