请小伙伴帮忙,关于数据格式转换的问题

    var page_data = [{
        "student": {
            "user_id": "278842",
            "user_realanme": "阅卷学生46",
            "student_no": "210512046",
            "cm_id": "9758",
            "cm_name": "初一(22)班"
        },
        "exam": [{
            "ze_id": "477",
            "zs_id": "1754",
            "ze_xueke_name": "语文",
            "ze_xueke": "1",
            "yxcjd_score_xs": "78.0",
            "yxcjd_grade_sort": "2",
            "yxcjd_cm_sort": "1"
        }, {
            "ze_id": "495",
            "zs_id": "1768",
            "ze_xueke_name": "数学",
            "ze_xueke": "2",
            "yxcjd_score_xs": "",
            "yxcjd_grade_sort": "",
            "yxcjd_cm_sort": ""
        }, {
            "ze_id": "483",
            "zs_id": "1758",
            "ze_xueke_name": "英语",
            "ze_xueke": "3",
            "yxcjd_score_xs": "51.0",
            "yxcjd_grade_sort": "2",
            "yxcjd_cm_sort": "1"
        }]
    }, {
        "student": {
            "user_id": "278802",
            "user_realanme": "骆海亮",
            "student_no": "210512006",
            "cm_id": "9757",
            "cm_name": "初一(21)班"
        },
        "exam": [{
            "ze_id": "477",
            "zs_id": "1754",
            "ze_xueke_name": "语文",
            "ze_xueke": "1",
            "yxcjd_score_xs": "84.0",
            "yxcjd_grade_sort": "1",
            "yxcjd_cm_sort": "1"
        }, {
            "ze_id": "495",
            "zs_id": "1768",
            "ze_xueke_name": "数学",
            "ze_xueke": "2",
            "yxcjd_score_xs": "",
            "yxcjd_grade_sort": "",
            "yxcjd_cm_sort": ""
        }, {
            "ze_id": "483",
            "zs_id": "1758",
            "ze_xueke_name": "英语",
            "ze_xueke": "3",
            "yxcjd_score_xs": "56.0",
            "yxcjd_grade_sort": "1",
            "yxcjd_cm_sort": "1"
        }]
    }]

变成下面的格式 变成以学科为主的

var two= [{
                name: '语文',
                children: [
                    { yxcjd_score_xs: 78, yxcjd_cm_sort: 1, yxcjd_grade_sort: 2 },
                    { yxcjd_score_xs: 84, yxcjd_cm_sort: 1, yxcjd_grade_sort: 1 },
                ]
            },
            {
                name: '数学',
                children: [
                    { yxcjd_score_xs: 78, yxcjd_cm_sort: 1, yxcjd_grade_sort: 2 },
                    { yxcjd_score_xs: 84, yxcjd_cm_sort: 1, yxcjd_grade_sort: 1 },

                ]
            },
            {
                name: '英语',
                children: [
                    { yxcjd_score_xs: 78, yxcjd_cm_sort: 1, yxcjd_grade_sort: 2 },
                    { yxcjd_score_xs: 84, yxcjd_cm_sort: 1, yxcjd_grade_sort: 1 },

                ]
            },

        ]
阅读 1.2k
1 个回答
const convert = (data) => {
    return Object.values(data.reduce((result, item) => {
        item.exam.forEach(exam => {
            !result[exam.ze_xueke_name] && (result[exam.ze_xueke_name] = {
                name: exam.ze_xueke_name,
                children: []
            })
            result[exam.ze_xueke_name].children.push({
                yxcjd_score_xs: exam.yxcjd_score_xs,
                yxcjd_cm_sort: exam.yxcjd_cm_sort,
                yxcjd_grade_sort: exam.yxcjd_grade_sort
            })
        })
        return result
    }, {}))
}

土办法, 坐等其它处理方式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题