Объявление динамического массива JS из файла JSON ⇐ Javascript
-
Гость
Объявление динамического массива JS из файла JSON
Я пытаюсь динамически объявлять/создавать различные массивы на основе загружаемых извне данных JSON.
Мне удалось загрузить файл JSON и успешно получить доступ ко всем вложенным данным. Теперь мне нужно хранить эти данные в отдельных массивах, но я не могу понять, как создавать динамические массивы на основе данных JSON. Я прочитал множество подобных сообщений здесь и в других местах, но до сих пор не уверен, как этого можно достичь.
Я могу заранее объявить основной массив (array_foodtypes), потому что я уже знаю, что буду загружать, но не знаю, что находится в файле JSON, пока он не загрузится, поэтому необходимо остальные массивы объявите динамически.
Мой файл JSON:
{ "фрукты": [ {"item":"яблоки"}, {"item":"апельсины"}, {"item":"бананы"} ], "орехи": [ {"item":"миндаль"}, {"item":"фисташки"}, {"item":"грецкие орехи"}, {"item":"пеканы"} ], "овощи": [ {"item":"помидоры"}, {"item":"морковь"} ] } Моя функция JS:
function createFoodArrays(jsonfile) { вар array_foodtypes = []; вар stringData = $.ajax({ URL: JSON-файл, асинхронный: ложь, успех: функция (данные) { $.each(данные, функция(ключ, значение) { console.log(ключ); array_foodtypes.push(ключ); $.each(значение, функция(ключ, значение) { console.log("L" + value.item); }); }); }, ошибка: функция (данные) { console.log("Ошибка JSON"); }, }); } Какие результаты:
фрукты л яблок л апельсинов л бананов орехи л миндаля л фисташек л грецких орехов л орехов пекан овощи л помидоров л моркови И заполняет мой основной массив следующим образом:
array_foodtypes["фрукты","орехи","овощи"]; Как я могу динамически объявлять и заполнять вторичные массивы следующим образом:
array_fruits["яблоки","апельсины","бананы"]; array_nuts["миндаль","фисташки","грецкие орехи","пекан"]; array_vegetables["помидоры","морковь"];
Я пытаюсь динамически объявлять/создавать различные массивы на основе загружаемых извне данных JSON.
Мне удалось загрузить файл JSON и успешно получить доступ ко всем вложенным данным. Теперь мне нужно хранить эти данные в отдельных массивах, но я не могу понять, как создавать динамические массивы на основе данных JSON. Я прочитал множество подобных сообщений здесь и в других местах, но до сих пор не уверен, как этого можно достичь.
Я могу заранее объявить основной массив (array_foodtypes), потому что я уже знаю, что буду загружать, но не знаю, что находится в файле JSON, пока он не загрузится, поэтому необходимо остальные массивы объявите динамически.
Мой файл JSON:
{ "фрукты": [ {"item":"яблоки"}, {"item":"апельсины"}, {"item":"бананы"} ], "орехи": [ {"item":"миндаль"}, {"item":"фисташки"}, {"item":"грецкие орехи"}, {"item":"пеканы"} ], "овощи": [ {"item":"помидоры"}, {"item":"морковь"} ] } Моя функция JS:
function createFoodArrays(jsonfile) { вар array_foodtypes = []; вар stringData = $.ajax({ URL: JSON-файл, асинхронный: ложь, успех: функция (данные) { $.each(данные, функция(ключ, значение) { console.log(ключ); array_foodtypes.push(ключ); $.each(значение, функция(ключ, значение) { console.log("L" + value.item); }); }); }, ошибка: функция (данные) { console.log("Ошибка JSON"); }, }); } Какие результаты:
фрукты л яблок л апельсинов л бананов орехи л миндаля л фисташек л грецких орехов л орехов пекан овощи л помидоров л моркови И заполняет мой основной массив следующим образом:
array_foodtypes["фрукты","орехи","овощи"]; Как я могу динамически объявлять и заполнять вторичные массивы следующим образом:
array_fruits["яблоки","апельсины","бананы"]; array_nuts["миндаль","фисташки","грецкие орехи","пекан"]; array_vegetables["помидоры","морковь"];
Мобильная версия