cates = [{cate1:"销售",cate2:"销售主管"},{cate1:"销售",cate2:"销售代表"},{cate1:"司机",cate2:"火车司机"},{cate1:"司机",cate2:"客车司机"}]

两种方案
当时做的时候花时间最多的就是push 需要注意两点,1 push的对象必须是一个数组,2.对name2push的时候注意newCates的数组
第二种情况顺序打乱
cates = [{cate1:"销售",cate2:"销售主管"},{cate1:"销售",cate2:"销售代表"},{cate1:"司机",cate2:"火车司机"},{cate1:"司机",cate2:"客车司机"},{cate1:"销售",cate2:"销售代表2"}]
arr=[]
newcate = []
cates = [{cate1:"销售",cate2:"销售主管"},{cate1:"销售",cate2:"销售代表"},{cate1:"司机",cate2:"火车司机"},{cate1:"司机",cate2:"客车司机"},{cate1:"销售",cate2:"销售代表"}]
cates.map((item,index)=>{
if(arr.indexOf(item.cate1) == -1){
arr.push(item.cate1)
newcate.push({firstCate:item.cate1,secondCates:[]})
}
arr.map((item2,i)=>{
if(item2 == item.cate1){
newcate[i].secondCates.push(item.cate2)
}
})
})
newcate = []
cates = [{cate1:"销售",cate2:"销售主管"},{cate1:"销售",cate2:"销售代表"},{cate1:"司机",cate2:"火车司机"},{cate1:"司机",cate2:"客车司机"},{cate1:"销售",cate2:"销售代表"}]
cates.map((item,index)=>{
if(JSON.stringify(newcate).indexOf(item.cate1) == -1){
newcate.push({firstCate:item.cate1,secondCates:[]})
}
newcate.map((item2,i)=>{
if(item2.firstCate == item.cate1){
item2.secondCates.push(item.cate2)
}
})
})