function strKeyGetFormObj() { const result = []; if (arguments.length === 0) { return result; } const obj = arguments[0]; for (let i = 1; i < arguments.length; i ++) { const keys = arguments[i].replace(/\[/, '.').replace(/\]/, ''); const keyArr = keys.split('.'); let tmpRest = obj; keyArr.forEach((subKey) => { tmpRest = tmpRest[subKey]; }); result.push(tmpRest); } return result; } console.log(strKeyGetFormObj({a: {b: {c: '1'}}, g: [0, 2, {f: 'abc'}]}, 'a.b.c', 'g[2].f'));