原始数据如下:
[
{
name: '李小华',
skill: '挖掘',
},
{
name: '李小华',
skill: '起重',
},
{
name: '赵里斯',
skill: '挖掘2',
},
{
name: '赵里斯',
skill: '挖掘3',
},
{
name: '赵里斯',
skill: '挖掘4',
},
我用了reduce来遍历结果,希望结果是:
[{
value: '李小华',
label: '李小华',
children:
[{
value: '挖掘',
label: '挖掘',
},
{
value: '起重'
label: '起重'
}]
},{
value: '赵里斯',
label: '赵里斯',
children:
[{
value: '挖掘2',
label: '挖掘2',
},
{
value: '挖掘3'
label: '挖掘3'
},
value: '挖掘4'
label: '挖掘4'
}]
},
}
目前是这样写的,但是结果总是为空[],不知哪里写错了,请教大神解救。
const arr = skills.reduce((arr,k)=>{
!arr.some((v)=>v.value == k.name&&v.children.push({value: k.skill,})&&arr.push({value: k.name,childred:[k.skill]}));
return arr;
},[])
console.log('打印arr',arr);
arr不是空数组么,那arr.some一直不会执行啊,不就是一直返回[]么