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