Показать сообщение отдельно
  #4 (permalink)  
Старый 16.05.2019, 16:17
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

json - то что спарсили из строки

Сначала группируем данные, потом из них делаем объекты
var schools = json.reduce(function(r, item) {

    var school = r.map[item.type];
    if (!school) {
        school = r.map[item.type] = {
            id: item.type,
            classes: [{
                id: '',
                studs: []
            }]
        };
        r.arr.push(school);
    }
    var cls = school.classes[0];
    cls.studs.push(item);
    return r;

}, { arr: [], map: Object.create(null) }).arr.map(function (school, idx) {
    return new School(idx + 1, school.id, school.classes.map(function (cls, idx) {
        return new Class(idx + 1, cls.id, cls.studs.map(function (stud, idx) {
            return new Student(idx + 1, stud.title, stud.id);
        }));
    }));
});
Ответить с цитированием