Объявление динамического массива JS из файла JSONJavascript

Форум по 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["помидоры","морковь"];
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»