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

    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)

上一篇:json字符换转对象,对象转字符串,返回指定日期是星期几,返回指定时间间隔内指定星期的日期列表


下一篇:自己实现word2vec