將數組裏某個屬性相同的對象合併成一個數組

var array=[
        {id:1,name:'小明',sex:'男'},
        {id:2,name:'小剛',sex:'男'},
        {id:3,name:'小紅',sex:'女'},
        {id:4,name:'小花',sex:'女'},
        {id:5,name:'小甜甜',sex:'女'},
    ]
    var obj={},newArr=[];
    array.forEach(function(item,suffix){
        //根據對象的屬性是惟一的,將值做爲對象的屬性名
        if(!obj[item.sex]){
            var arr=[];
            arr.push(item);
            newArr.push(arr);
            obj[item.sex]=item;
        }else{
            newArr.forEach(function(value,index){
                //若是已經存在  就循環新組的值將值插入屬性相同的數組裏   爲了防止重複添加   只要和第一個比較就能夠了
                if(value[0].sex==item.sex){
                    value.push(item)
                }
            })
        }
    })
    console.log(obj);
    console.log(newArr)
相關文章
相關標籤/搜索