在开发渲染多个echarts图表时,需要将数组根据属性分组成多个数组,以下是实际的数组处理
let BaseLineAndLessonLearnByGroupList= [
{
name: 'BaseLine',
value: 1,
DeptName: 'Logisti',
},
{
name: 'LessonLearn',
value: 1,
DeptName: 'Logisti',
},
{
name: 'BaseLine',
value: 1,
DeptName: 'ME',
},
{
name: 'LessonLearn',
value: 1,
DeptName: 'ME',
},
],
以上是部门数据数组,需要根据部门名称分组生成多个数组
let dataArr = []
((mapItem) => {
if ( == 0) {
({ DeptName: , List: [mapItem] })
} else {
let res = ((item) => {
//判断相同的部门,有就添加到当前项
if ( == ) {
(mapItem)
return true
}
})
if (!res) {
//如果没找相同的部门添加一个新对象
({ DeptName: , List: [mapItem] })
}
}
})
let BaseLineAndLessonLearnByGroupList = dataArr
以下是最终生成的数组
let BaseLineAndLessonLearnByGroupList =[
{
DeptName: 'ME',
List: [
{
name: 'BaseLine',
value: 1,
DeptName: 'ME',
},
{
name: 'LessonLearn',
value: 1,
DeptName: 'ME',
},
],
},
{
DeptName: 'Logisti',
List: [
{
name: 'BaseLine',
value: 1,
DeptName: 'Logisti',
},
{
name: 'LessonLearn',
value: 1,
DeptName: 'Logisti',
},
],
},
]