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:"促销商品"},]
2 回答

一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
//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)})

米脂
TA贡献1836条经验 获得超3个赞
楼主,如果你已经排好序的话,是不是要这个效果: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)
添加回答
举报
0/150
提交
取消