数据转换成数组

varlist=[
{name:'color',value:'pink'},
{name:'color',value:'black'},
{name:'color',value:'green'},
{name:'size',value:'s'},
{name:'size',value:'m'},
{name:'type',value:'a'},
{name:'type',value:'b'},
{name:'type',value:'c'},
];
将list转换成list2的形式:
varlist2=[
{name:'color',value:['pink','black','green']},
{name:'size',value:['s','m']},
{name:'type',value:['a','b','c']},
]
下面是胡乱倒腾的做法:
varlist2=[]
varmap={}
vardest=[]
for(vari=0;ivarai=list[i];
if(!map[ai.name]){
dest.push({
name:ai.name,
value:ai.value+","
});
map[ai.name]=ai;
}else{
for(varj=0;jvardj=dest[j];
if(dj.name==ai.name){
dj.value+=ai.value+",";
break;
}
}
}
}
dest.forEach((item,index)=>{
vararr={
name:item.name,
value:[]
};
arr.value=item.value.split(",");
this.list2.push(arr);
});
得出的结果好像是有问题,没有达到效果,请大伙帮忙看看囧[囧]
明月笑刀无情
浏览 349回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript