功能
可以在 dataObj 对象中,寻找用连续点符号的 keyName 属性。
// export default function lookup(dataObj, keyName) { function lookup(dataObj, keyName) { // 看看keyName中有没有点符号,但是不能是.本身 if (keyName.indexOf('.') != -1 && keyName != '.') { // 如果有点符号,那么拆开成数组 var keys = keyName.split('.'); // 设置一个临时变量,这个临时变量用于周转,一层一层找下去。 var temp = dataObj; // 每找一层,就把它设置为新的临时变量 for (let i = 0; i < keys.length; i++) { temp = temp[keys[i]]; } return temp; } // 如果这里面没有点符号 return dataObj[keyName]; }; let objData = { a: { b: { c: 100 }, d: { e: 1000 } }, f: 10000, g: { h: 100000 } }; console.log(lookup(objData, 'a.b.c')); // 100 console.log(lookup(objData, 'a.d.e')); // 1000 console.log(lookup(objData, 'f')); // 10000 console.log(lookup(objData, 'g.h')); // 100000