既然是层级关系,就需要逐层进行遍历分类,首先,要将数据抽象为你实际需要的数据结构,比如像下面的数据结构: let students = [ { name: 'a', school: 's1', class: 'c1', }, { name: 'b', school: 's1', class: 'c2', }, { name: 'c', school: 's2', class: 'c1', }, { name: 'd', school: 's1', class: 'c1', }, { name: 'd', school: 's3', class: 'c1', }, ]然后,进行遍历: // 1 let result = [] let schools = [] students.forEach((item) => { if (!schools.includes(item.school)) { schools.push(item.school) } }) // 2 schools.forEach((item) => { result.push({ key: item, value: [], }) }) // 3 students.forEach((item) => { result.forEach((item2) => { if (item.school === item2.key) { item2.value.push(item) } }) })上面的代码,是对学生按照学校进行分类,这是第一层分类,接下来,还需要按照年级和班级进行分类,也就是说,需要再进行这样的操作两次,才能达到最终的目标。我这里仅提供一个解决方案,也许还有其他的方案,供你参考。
既然是层级关系,就需要逐层进行遍历分类,首先,要将数据抽象为你实际需要的数据结构,比如像下面的数据结构:
然后,进行遍历:
上面的代码,是对学生按照学校进行分类,这是第一层分类,接下来,还需要按照年级和班级进行分类,也就是说,需要再进行这样的操作两次,才能达到最终的目标。我这里仅提供一个解决方案,也许还有其他的方案,供你参考。