Имеются такие данные:
var datascource = {
'name': '',
'firstname': 'Иван',
'lastname': 'Иванов',
'className': 'top-level',
'src' : 'img/mem2.jpg',
'children': [
{
'name': '',
'firstname': 'Иван',
'lastname': 'Сидоров',
'src' : 'img/mem2.jpg',
'children': [
{
'name': '',
'firstname': 'Иван',
'lastname': 'Какой-то',
'src' : 'img/mem2.jpg'
}
]
},
{
'name': '',
'firstname': 'Иван',
'lastname': 'Максимова',
'src' : 'img/mem2.jpg'
},
{
'name': '',
'firstname': 'Иван',
'lastname': 'Антонов',
'src' : 'img/mem2.jpg'
}
]
};
И рекурсивная функция, которая из обрабатывает.
var relative = $(this).find('.relationship-form__list .reg-info-item .name').text();
function findNode(users) {
for(var key in users) {
if(key == 'lastname' && users[key] == relative) {
return users[key];
}
if(key == 'children') {
users[key].forEach(function(item) {
findNode(item);
})
}
}
}
Я беру значение lastname из input'a, и мне нужно пройтись по всему объекту и по дочерним объектам, сравнить значение lastname, c тем значением, что я получаю из инпута, и если они равны, то надо добавить еще один ключ children к этому элементу в котором сравнение прошло успешно, как это можно реализовать?