Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2020, 18:04
Новичок на форуме
Отправить личное сообщение для Corathir Посмотреть профиль Найти все сообщения от Corathir
 
Регистрация: 16.06.2020
Сообщений: 3

Доступ к свойствам объекта
Здравствуйте!

Мне нужно составить ul-список, взяв несколько полей из каждого файла JSON. Получить нужные данные удалось, но после этого столкнулся с другой проблемой.

Безымянный.jpg

Как показывает консоль, объект не пустой. Консоль также отображает индексы. Но запрос свойства по индексу возвращает undefined.

Вот код:

function search_in_JSON(desired_field, link) {
    let result = {};
    if (desired_field) {
        $.getJSON(link, function (data) {
            $.each(data, function (key, datum) {
                $.each(datum, function (key_of_datum, value) {
                    if (key_of_datum === desired_field)
                        result[String(key)] = value;
                });
            });
        });
        return result;
    }
    else {
        $.getJSON(link, function (data) { result = data });
        return result;
    }
}
 
$(document).ready(function() {
    let items = [];
    let users_names = search_in_JSON('name', 'ссылочка1');
    console.log(users_names);
    console.log(users_names[0]);
    console.log(users_names[1]);
    $.each(users_names, function (key_of_name, user_name) {
        console.log(key_of_name + ' and ' + user_name);
        let albums = search_in_JSON('', 'ссылочка2' + (key_of_name+1));
        items.push('<ul class="user">');
        $.each(albums, function (key_of_album, album) {
            items.push('<li><ul class="album">');
            let photos = search_in_JSON('', 'ссылочка3' + album.id);
            $.each(photos, function (key_of_photo, photo) {
                items.push('<li><img src="' + photo.url + '"  alt="' + photo.title + '"/></li>');
            });
            items.push('</ul></li>');
        });
        items.push('</ul>');
    });
    items = items.join('');
    $('.albums').html(items);
});
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2020, 18:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Corathir,
в строку 12 перенесите вывод данных и забудьте про return.
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2020, 18:25
Новичок на форуме
Отправить личное сообщение для Corathir Посмотреть профиль Найти все сообщения от Corathir
 
Регистрация: 16.06.2020
Сообщений: 3

Сообщение от рони Посмотреть сообщение
Corathir,
в строку 12 перенесите вывод данных и забудьте про return.
До данных всё равно не получается добраться, выдаёт undefined вместо значения
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2020, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от рони
в строку 12 перенесите вывод данных и забудьте про return.
про return по прежнему забудьте
вывод должен быть в $.getJSON
$.getJSON(link, function (data) { здесь вывод данных!!!});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к свойствам объекта JSON crabkilla Общие вопросы Javascript 2 30.07.2019 13:53
Подскажите по свойствам объекта. lampa17 Общие вопросы Javascript 6 28.01.2018 23:36
Получить доступ к стилю объекта evgeniyfill82 Javascript под браузер 13 24.09.2017 22:57
Доступ к значениям свойств объекта в цикле Bandicoot Общие вопросы Javascript 4 04.02.2016 11:44
Доступ к свойствам объекта shifteee Общие вопросы Javascript 7 01.06.2012 17:27