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; } 按照楼主的思路写了一下 可以支持数组