Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
var fixture = { foo: { bar: [ {qux: 'bingo'}, ], }, }; // Проверка console.log(get(fixture, 'foo.bar.0.qux') === 'bingo');
const obj = { obj2: { obj3: { target: 'something', arr3: [1, 2, [3, 4]], }, }, } const path = 'obj2.obj3.target' const path2 = 'obj2.obj3.arr3[2][0]' function getProperty (path,obj) { path = path.replace(/(\.)|(\[)|(\s)/gm,".").replace(/\]/gm,"").split(".") return path.map((prop) => obj = obj[prop]); } console.log( [...getProperty(path,obj)].pop()) console.log( [...getProperty(path2,obj)].pop())