This is my data,
I need to group this data by type and merge reserve_course_id
and name
, if the type has the same teacher_name
and same start
Is that possible?
Input data:
let data = [
{
class_room: "",
color: "#fffff",
name: "classA_speak",
reserve_course_id: 4814,
start: "2022-07-07 15:00",
start_time: "15:00",
teacher_name: "aaa",
type: 1,
},
{
class_room: "",
color: "#fffff",
name: "classA_write",
reserve_course_id: 4815,
start: "2022-07-07 15:00",
start_time: "15:00",
teacher_name: "aaa",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4816,
start: "2022-07-07 15:00",
start_time: "15:00",
teacher_name: "aaa",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 4877,
start: "2022-07-08 15:00",
start_time: "15:00",
teacher_name: "iii",
type: 2
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4919,
start: "2022-07-08 18:00",
start_time: "18:00",
teacher_name: "ttt",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 4911,
start: "2022-07-08 18:00",
start_time: "18:00",
teacher_name: "ttt",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classA_speak",
reserve_course_id: 4912,
start: "2022-07-08 18:00",
start_time: "18:00",
teacher_name: "ttt",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4933,
start: "2022-07-03 11:00",
start_time: "11:00",
teacher_name: "aaa",
type: 3
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 4944,
start: "2022-07-10 09:00",
start_time: "09:00",
teacher_name: "iii",
type: 4
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4899,
start: "2022-07-20 15:00",
start_time: "15:00",
teacher_name: "iii",
type: 4
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 5000,
start: "2022-07-13 11:00",
start_time: "11:00",
teacher_name: "iii",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 5001,
start: "2022-07-13 11:00",
start_time: "11:00",
teacher_name: "iii",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classA_speak",
reserve_course_id: 5002,
start: "2022-07-13 11:00",
start_time: "11:00",
teacher_name: "iii",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classA_write",
reserve_course_id: 5003,
start: "2022-07-13 11:00",
start_time: "11:00",
teacher_name: "iii",
type: 1
},
]
Ouput data:
let result = [
{
class_room: "",
color: "#fffff",
name: ["classA_speak","classA_write","classB_speak"],
reserve_course_id: [4814,4815,4816],
start: "2022-07-07 15:00",
start_time: "15:00",
teacher_name: "aaa",
type: 1,
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 4877,
start: "2022-07-08 15:00",
start_time: "15:00",
teacher_name: "iii",
type: 2
},
{
class_room: "",
color: "#fffff",
name: ["classB_speak", "classB_write","classA_speak"],
reserve_course_id: [4910,4911,4912],
start: "2022-07-08 18:00",
start_time: "18:00",
teacher_name: "ttt",
type: 1
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4933,
start: "2022-07-03 11:00",
start_time: "11:00",
teacher_name: "aaa",
type: 3
},
{
class_room: "",
color: "#fffff",
name: "classB_write",
reserve_course_id: 4944,
start: "2022-07-10 09:00",
start_time: "09:00",
teacher_name: "iii",
type: 4
},
{
class_room: "",
color: "#fffff",
name: "classB_speak",
reserve_course_id: 4899,
start: "2022-07-20 15:00",
start_time: "15:00",
teacher_name: "iii",
type: 4
},
{
class_room: "",
color: "#fffff",
name: ["classB_speak","classA_write","classA_speak","classA_write"],
reserve_course_id: [5000,5001,5002,5003],
start: "2022-07-13 11:00",
start_time: "11:00",
teacher_name: "iii",
type: 1
},
]
Thank you!
reserve_course_id
notreverse_course_id