Если у меня есть массив с большим количеством элементов, подобные этим:Создать сложный массив из списка
[
["Core", "Mathematics", "Mathematics 20-4"],
["Core", "Mathematics", "Mathematics 30-1"],
["Other", "Fine Arts", "Art", "some art course"],
["Other", "Fine Arts", "Music", "some music course"],
["Other", "Forensics", "some forensics course"],
["French Immersion", "Core", "Mathématiques", "Mathématiques 30-1"]
]
Если структура по существу «Department -> Тема -> Курс».
Я хочу, чтобы динамически создать массив (или объект), подобный следующему (или что-то делает больше смысла) ...
{
subjects: [
{
title: "Mathematics", courses: [ "Mathematics 20-4", "Mathematics 30-1" ]
},
{
title: "Mathématiques", lang: "fr", courses: [ "Mathématiques 30-1" ]
}
],
other: {
subjects: [
{
title: "Forensics", courses: [ "some forensics course" ]
},
{
title: "Fine Arts", subjects: [
{
title: "Art", courses: [ "some art course" ]
},
{
title: "Music", courses: [ "some music course" ]
}
]
}
]
}
}
«Другие» отдел не обязательно следовать «Тема - > Курс "и скорее может иметь" Тема -> Тема -> Курс "и" Тема -> Курс ". Возможно, добавление типа = "курс" и type = "subject" могло бы помочь, но мне все равно хотелось бы, чтобы у него была иерархия.
Я уже стучал головой о том, как динамически преобразовывать это в структуру массива или объекта.
Эта другая категория дает мне головную боль, думая об этом. – tymeJV
Это похоже на то, что вы хотите, чтобы кто-то написал вам свой код, а не задал конкретный вопрос или проблему. Вы могли бы попытаться создать иерархию объектов, создать такие объекты, как: Курсы, Курс курса, Отдел, Тема и курс, затем передать свой массив в функцию addCourse на базовом объекте и проанализировать его, чтобы решить, следует ли добавлять элементы к существующему объекту в иерархии или создавать новые, если Департамент, Субъект или Курс не существует. Вы по-прежнему окажетесь иерархией деревьев, которую вы хотите там, но вы сможете разбить проблему на более управляемые куски. –