function getValue(obj,str,defaultValue) { let strArr = str.split('.'); let Rep = /(\w+)\[(\d+)\]/; for(let i = 0; i < strArr.length; i++) { if(Rep.test(strArr[i])) { let index = strArr[i].match(Rep)[2],target = strArr[i].match(Rep)[1]; obj = obj[target][parseInt(index)]; continue; } if(obj.hasOwnProperty(strArr[i])) { obj = obj[strArr[i]]; } else { return defaultValue; } } return obj; } 按照楼主的思路写了一下 可以支持数组
点赞 3

相关推荐

算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
牛客97567122...:我最近投的几个,都是要不已读不回,要不不回,还有直接拒绝的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务