数组拆分问题

datalist:[
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"推荐商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"推荐商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},
……
]
按照categoryName的不同拆分成几个数组。应该怎么写?
[{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"热销商品"},];
[{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"推荐商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"推荐商品"},]
[{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},
{categoryId:"f5665104-cff9-47c9-b44c-b92694e45767",categoryName:"促销商品"},]
慕莱坞森
浏览 386回答 2
2回答

一只名叫tom的猫

//vardata={}vardata={sort:[]}datalist.forEach((item,index)=>{vars=item.categoryNamedata[s]?data[s].push(item):(data[s]=[item],data.sort.push(s))//data[s]?data[s].push(item):data[s]=[item]})//data=Object.values(data)//上面object转数组是无序的,所以加个sort记录所有的商品类型及顺序data=data.sort.map((item,index)=>{returndata[item]})下面快点vardata=[]datalist.forEach((item,index)=>{if(data.length==0||item.categoryName!==data[data.length-1][0].categoryName){data.push([])}data[data.length-1].push(item)})

米脂

楼主,如果你已经排好序的话,是不是要这个效果:varnewDataArray=dataList.reduce((target,current)=>{if(target[target.length-1]==null||target[target.length-1][target[target.length-1].length-1].categoryName!==current.categoryName){target.push([current])}else{target[target.length-1].push(current)}returntarget},[]);console.log(newDataArray)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript