У меня есть строка в переменной y , которая похожа на обычное уравнение синтаксического анализа, используемое в js для анализа объекта, и у меня есть сложный объект в переменной x . Теперь я хочу передать обе переменные в функцию с именем parser , и функция должна вернуть мне проанализированные данные из объекта. Если вам не понятен мой вопрос, посмотрите на мой пример, и вы будете кристально чисты.
var a = {data:{info:{name:'mina'},interested: ['programming','makeup']}}
function parse(x, y) { var y = y.split('.').reverse();
for (var j = x, i = (y.length - 1); i >= 0; --i) {
j = j !== undefined && j[y[i]] !== undefined ?j[y[i]] : false;
}
if (j) {
return j;
}
}
parse(a,'data.info.name') //output = mina
parse(a,'data.info') //{name: "mina"}
parse(a,'data.interested[1]')
Эта функция лучше всего подходит для синтаксического анализа объекта, но мне не удалось проанализировать массив с помощью этой функции, я ищу решение, которое также может анализировать массив. Пожалуйста, помогите мне, я старался изо всех сил, я был в состоянии разобрать простой массив, как a.data.name [0] , но я не смог разобрать сложный массив, как a.data.name [0] [ 0] .name [0] (пример)
Пожалуйста, помогите Мне решить эту проблему