一维数组根据某个指标整理成二维数组

  • Post author:
  • Post category:其他




总结:将一维数组根据某个指标整理成二维数组

当前有一个一维的数组,统计了每周各天迟到的学生以及迟到的次数,如下:

var dataArr = [
        { 'student_name': '张三','late_count': 3,'week': '周一' },
        { 'student_name': '李四','late_count': 1,'week': '周一' },
        { 'student_name': '王五','late_count': 3,'week': '周一' },
        { 'student_name': '刘六','late_count': 2,'week': '周二' },
        { 'student_name': '张三','late_count': 1,'week': '周二' },
        { 'student_name': '李四','late_count': 1,'week': '周三' },
        { 'student_name': '王五','late_count': 2,'week': '周四' },
        { 'student_name': '李四','late_count': 1,'week': '周四' },
        { 'student_name': '朱七','late_count': 2,'week': '周四' },
        { 'student_name': '闫八','late_count': 2,'week': '周五' },
        { 'student_name': '王五','late_count': 1,'week': '周五' }
];

可以看到上面的数组是一个一维的扁平数组,需求是将上面的数组周一的跟周一放到一起,周二的跟周二放到一起。。。如下:

resultArr = [
	[
		{ 'student_name': '张三','late_count': 3,'week': '周一' },
        { 'student_name': '李四','late_count': 1,'week': '周一' },
        { 'student_name': '王五','late_count': 3,'week': '周一' }
	],
	[
		{ 'student_name': '刘六','late_count': 2,'week': '周二' },
        { 'student_name': '张三','late_count': 1,'week': '周二' }
	],
	[
		{ 'student_name': '李四','late_count': 1,'week': '周三' },
	],
	[
		{ 'student_name': '王五','late_count': 2,'week': '周四' },
        { 'student_name': '李四','late_count': 1,'week': '周四' },
        { 'student_name': '朱七','late_count': 2,'week': '周四' }
	],
	[
		{ 'student_name': '闫八','late_count': 2,'week': '周五' },
        { 'student_name': '王五','late_count': 1,'week': '周五' }
	]
]

进行如下处理:

	dataArr = Object.values(dataArr .reduce((res, item) => {
          res[item.week] ? res[item.week].push(item) : res[item.week] = [item];
          return res;
	}, {}));

控制台打印结果可以看到结果如下:

在这里插入图片描述



版权声明:本文为weixin_43090336原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。