首页 > 编程语言 > 详细

将数组里某个属性相同的对象合并成一个数组

时间:2020-05-19 21:05:05      阅读:101      评论:0      收藏:0      [点我收藏+]
 1 var array=[
 2         {id:1,name:‘小明‘,sex:‘男‘},
 3         {id:2,name:‘小刚‘,sex:‘男‘},
 4         {id:3,name:‘小红‘,sex:‘女‘},
 5         {id:4,name:‘小花‘,sex:‘女‘},
 6         {id:5,name:‘小甜甜‘,sex:‘女‘},
 7     ]
 8     var obj={},newArr=[];
 9     array.forEach(function(item,suffix){
10         //根据对象的属性是唯一的,将值作为对象的属性名
11         if(!obj[item.sex]){
12             var arr=[];
13             arr.push(item);
14             newArr.push(arr);
15             obj[item.sex]=item;
16         }else{
17             newArr.forEach(function(value,index){
18                 //如果已经存在  就循环新组的值将值插入属性相同的数组里   为了防止重复添加   只要和第一个比较就可以了
19                 if(value[0].sex==item.sex){
20                     value.push(item)
21                 }
22             })
23         }
24     })
25     console.log(obj);
26     console.log(newArr)

 

将数组里某个属性相同的对象合并成一个数组

原文:https://www.cnblogs.com/yihengbaobei/p/12919195.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!