
前端考试题(3.11)
如何深度遍历一个对象的属性
代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
function optionalChaining(obj, chain) { if (obj === null || obj == undefined) { return 'undefined'; } if(!(/./g).test(chain) && obj[chain]) { return obj[chain]; } var arr = chain.split('.'); var len = arr.length, i=0; var local = ''; var local = arr.shift(); for (key in obj) { // console.log(key === local && obj[key] instanceof Object ) if (key === local && obj[key] instanceof Object ) { return optionalChaining(obj[key], arr.join('.')); } } return 'undefined' ; }
|
近期评论