@uzi_no_uzi

Как перебрать свойства объекта с добавлением данных?

Имеются такие данные:

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 к этому элементу в котором сравнение прошло успешно, как это можно реализовать?
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы